import { useEffect, useState } from 'react' import { useAtomValue, useSetAtom } from 'jotai' import { MessageCircle } from 'lucide-react' import { MainViewState } from '@/constants/screens' import { useCreateConversation } from '@/hooks/useCreateConversation' import { useGetDownloadedModels } from '@/hooks/useGetDownloadedModels' import { useMainViewState } from '@/hooks/useMainViewState' import { showingModalNoActiveModel } from '@/helpers/atoms/Modal.atom' import { activeAssistantModelAtom } from '@/helpers/atoms/Model.atom' enum ActionButton { DownloadModel = 'Download a Model', StartChat = 'Start a Conversation', } const SidebarEmptyHistory: React.FC = () => { const { downloadedModels } = useGetDownloadedModels() const { setMainViewState } = useMainViewState() const { requestCreateConvo } = useCreateConversation() const [action, setAction] = useState(ActionButton.DownloadModel) const modalNoActiveModel = useSetAtom(showingModalNoActiveModel) useEffect(() => { if (downloadedModels.length > 0) { setAction(ActionButton.StartChat) } else { setAction(ActionButton.DownloadModel) } }, [downloadedModels]) const activeModel = useAtomValue(activeAssistantModelAtom) const onClick = async () => { if (action === ActionButton.DownloadModel) { setMainViewState(MainViewState.ExploreModels) } else { if (!activeModel) { modalNoActiveModel(true) } else { await requestCreateConvo(activeModel) } } } return (
No Chat History

Get started by creating a new chat.

) } export default SidebarEmptyHistory