import { PageHeader } from '@/components/page-header'; import { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, } from '@/components/ui/breadcrumb'; import { Button } from '@/components/ui/button'; import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; import { useSetModalState } from '@/hooks/common-hooks'; import { useNavigatePage } from '@/hooks/logic-hooks/navigate-hooks'; import { useFetchConversation, useFetchDialog } from '@/hooks/use-chat-request'; import { cn } from '@/lib/utils'; import { ArrowUpRight, LogOut } from 'lucide-react'; import { useTranslation } from 'react-i18next'; import { useHandleClickConversationCard } from '../hooks/use-click-card'; import { ChatSettings } from './app-settings/chat-settings'; import { MultipleChatBox } from './chat-box/multiple-chat-box'; import { SingleChatBox } from './chat-box/single-chat-box'; import { LLMSelectForm } from './llm-select-form'; import { Sessions } from './sessions'; import { useAddChatBox } from './use-add-box'; import { useSwitchDebugMode } from './use-switch-debug-mode'; export default function Chat() { const { navigateToChatList } = useNavigatePage(); const { data } = useFetchDialog(); const { t } = useTranslation(); const { data: conversation } = useFetchConversation(); const { handleConversationCardClick, controller } = useHandleClickConversationCard(); const { visible: settingVisible, switchVisible: switchSettingVisible } = useSetModalState(true); const { removeChatBox, addChatBox, chatBoxIds, hasSingleChatBox, hasThreeChatBox, } = useAddChatBox(); const { isDebugMode, switchDebugMode } = useSwitchDebugMode(); if (isDebugMode) { return ( Multiple Models ({chatBoxIds.length}/3) Exit ); } return ( {t('chat.chat')} {data.name} {conversation.name} Multiple Models {settingVisible && ( )} ); }