import { Menu, Transition } from '@headlessui/react'; import { Fragment, useState } from 'react'; import { useRecoilValue } from 'recoil'; import SearchBar from './SearchBar'; import TrashIcon from '../svg/TrashIcon'; import GearIcon from '../svg/GearIcon'; import Settings from './Settings'; import { Download } from 'lucide-react'; import NavLink from './NavLink'; import ExportModel from './ExportConversation/ExportModel'; import ClearConvos from './ClearConvos'; import Logout from './Logout'; import { useAuthContext } from '~/hooks/AuthContext'; import { cn } from '~/utils/'; import DotsIcon from '../svg/DotsIcon'; import store from '~/store'; export default function NavLinks({ clearSearch, isSearchEnabled }) { const [showExports, setShowExports] = useState(false); const [showClearConvos, setShowClearConvos] = useState(false); const [showSettings, setShowSettings] = useState(false); const { user } = useAuthContext(); const conversation = useRecoilValue(store.conversation) || {}; const exportable = conversation?.conversationId && conversation?.conversationId !== 'new' && conversation?.conversationId !== 'search'; const clickHandler = () => { if (exportable) setShowExports(true); }; return ( <> {({ open }) => ( <>
{user?.name || 'USER'}
{isSearchEnabled && ( )} } text="Export conversation" clickHandler={clickHandler} />
} text="Clear conversations" clickHandler={() => setShowClearConvos(true)} /> } text="Settings" clickHandler={() => setShowSettings(true)} />
)}
{showExports && } {showClearConvos && } {showSettings && } ); }