import React, { useEffect } from 'react'; import { useRecoilState, useRecoilValue } from 'recoil'; import SelectDropdown from '../../ui/SelectDropdown.jsx'; import { cn } from '~/utils/'; import store from '~/store'; function ChatGPTOptions() { const [conversation, setConversation] = useRecoilState(store.conversation) || {}; const { endpoint, conversationId } = conversation; const { model } = conversation; const endpointsConfig = useRecoilValue(store.endpointsConfig); // useEffect(() => { // if (endpoint !== 'chatGPTBrowser') return; // }, [conversation]); if (endpoint !== 'chatGPTBrowser') return null; if (conversationId !== 'new') return null; const models = endpointsConfig?.['chatGPTBrowser']?.['availableModels'] || []; // const modelMap = new Map([ // ['Default (GPT-3.5)', 'text-davinci-002-render-sha'], // ['Legacy (GPT-3.5)', 'text-davinci-002-render-paid'], // ['GPT-4', 'gpt-4'] // ]); const setOption = param => newValue => { let update = {}; update[param] = newValue; setConversation(prevState => ({ ...prevState, ...update })); }; const cardStyle = 'transition-colors shadow-md rounded-md min-w-[75px] font-normal bg-white border-black/10 hover:border-black/10 focus:border-black/10 dark:border-black/10 dark:hover:border-black/10 dark:focus:border-black/10 border dark:bg-gray-700 text-black dark:text-white'; return (