import { useMemo } from 'react'; import { MessageCircleDashed } from 'lucide-react'; import { useRecoilState, useRecoilValue } from 'recoil'; import { useGetStartupConfig } from 'librechat-data-provider/react-query'; import { Constants, getConfigDefaults } from 'librechat-data-provider'; import temporaryStore from '~/store/temporary'; import { Switch } from '~/components/ui'; import { cn } from '~/utils'; import store from '~/store'; export const TemporaryChat = () => { const { data: startupConfig } = useGetStartupConfig(); const defaultInterface = getConfigDefaults().interface; const [isTemporary, setIsTemporary] = useRecoilState(temporaryStore.isTemporary); const conversation = useRecoilValue(store.conversationByIndex(0)) || undefined; const conversationId = conversation?.conversationId ?? ''; const interfaceConfig = useMemo( () => startupConfig?.interface ?? defaultInterface, [startupConfig], ); if (!interfaceConfig.temporaryChat) { return null; } const isActiveConvo = Boolean( conversation && conversationId && conversationId !== Constants.NEW_CONVO && conversationId !== 'search', ); const onClick = () => { if (isActiveConvo) { return; } setIsTemporary(!isTemporary); }; return (
Temporary Chat
); };