import EmbedDialog from '@/components/embed-dialog'; import { useShowEmbedModal } from '@/components/embed-dialog/use-show-embed-dialog'; 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 { SharedFrom } from '@/constants/chat'; import { useSetModalState } from '@/hooks/common-hooks'; import { useNavigatePage } from '@/hooks/logic-hooks/navigate-hooks'; import { useFetchConversation, useFetchDialog, useGetChatSearchParams, } from '@/hooks/use-chat-request'; import { cn } from '@/lib/utils'; import { isEmpty } from 'lodash'; import { ArrowUpRight, LogOut, Send } from 'lucide-react'; import { useTranslation } from 'react-i18next'; import { useParams } from 'umi'; 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 { Sessions } from './sessions'; import { useAddChatBox } from './use-add-box'; import { useSwitchDebugMode } from './use-switch-debug-mode'; export default function Chat() { const { id } = useParams(); 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 { showEmbedModal, hideEmbedModal, embedVisible, beta } = useShowEmbedModal(); const { conversationId, isNew } = useGetChatSearchParams(); const { isDebugMode, switchDebugMode } = useSwitchDebugMode(); if (isDebugMode) { return (
Multiple Models ({chatBoxIds.length}/3)
); } return (
{t('chat.chat')} {data.name}
{conversation.name}
{settingVisible && ( )}
{embedVisible && ( )}
); }