import { useRecoilValue } from 'recoil'; import { SelectDropDown, Tabs, TabsList, TabsTrigger } from '~/components/ui'; import { cn, cardStyle } from '~/utils/'; import type { TModelSelectProps } from '~/common'; import store from '~/store'; export default function BingAI({ conversation, setOption, models }: TModelSelectProps) { const showBingToneSetting = useRecoilValue(store.showBingToneSetting); if (!conversation) { return null; } const { conversationId, toneStyle, jailbreak } = conversation; if (conversationId !== 'new' && !showBingToneSetting) { return null; } const defaultClasses = 'p-2 rounded-md min-w-[75px] font-normal bg-white/[.60] dark:bg-gray-700 text-black text-xs'; const defaultSelected = cn( defaultClasses, 'font-medium data-[state=active]:text-white text-xs text-white', ); const selectedClass = (val: string) => val + '-tab ' + defaultSelected; return ( <> setOption('jailbreak')(value === 'Sydney')} availableValues={models} showAbove={true} showLabel={false} className={cn( cardStyle, 'z-50 flex h-[40px] w-36 flex-none items-center justify-center px-4 ring-0 hover:cursor-pointer hover:bg-slate-50 focus:ring-0 focus:ring-offset-0 data-[state=open]:bg-slate-50 dark:bg-gray-800 dark:hover:bg-gray-700 dark:data-[state=open]:bg-gray-600', showBingToneSetting ? 'hidden' : '', )} /> setOption('toneStyle')(value.toLowerCase())} > {'Creative'} {'Fast'} {'Balanced'} {'Precise'} ); }