"use client"; import { useState, useEffect } from "react"; import { ChatBody } from "../ChatBody"; import { InputToolbar } from "../InputToolbar"; import { UserToolbar } from "../UserToolbar"; import ModelMenu from "../ModelMenu"; import { useStore } from "@/_models/RootStore"; import { observer } from "mobx-react-lite"; import ConfirmDeleteConversationModal from "../ConfirmDeleteConversationModal"; import { ModelDetailSideBar } from "../ModelDetailSideBar"; import NewChatBlankState from "../NewChatBlankState"; import useGetCurrentUser from "@/_hooks/useGetCurrentUser"; import { DeleteConversationMutation, DeleteConversationDocument, } from "@/graphql"; import { useMutation } from "@apollo/client"; const ChatContainer: React.FC = observer(() => { const [prefillPrompt, setPrefillPrompt] = useState(""); const { historyStore } = useStore(); const { user } = useGetCurrentUser(); const showBodyChat = historyStore.activeConversationId != null; const conversation = historyStore.getActiveConversation(); const [deleteConversation] = useMutation( DeleteConversationDocument ); useEffect(() => { if (!user) { historyStore.clearAllConversations(); } }, [user]); const [open, setOpen] = useState(false); const onConfirmDelete = () => { setPrefillPrompt(""); historyStore.closeModelDetail(); if (conversation?.id) { deleteConversation({ variables: { id: conversation.id } }).then(() => historyStore.deleteConversationById(conversation.id) ); } setOpen(false); }; const onSuggestPromptClick = (prompt: string) => { if (prompt !== prefillPrompt) { setPrefillPrompt(prompt); } }; return (
{showBodyChat ? (
{/* Separator */}
) : ( )}
); }); export default ChatContainer;