import MessageInput from '@/components/message-input'; import MessageItem from '@/components/message-item'; import { useClickDrawer } from '@/components/pdf-drawer/hooks'; import { MessageType, SharedFrom } from '@/constants/chat'; import { useSendButtonDisabled } from '@/pages/chat/hooks'; import { Flex, Spin } from 'antd'; import { forwardRef, useMemo } from 'react'; import { useGetSharedChatSearchParams, useSendSharedMessage, } from '../shared-hooks'; import { buildMessageItemReference } from '../utils'; import PdfDrawer from '@/components/pdf-drawer'; import { useFetchNextConversationSSE } from '@/hooks/chat-hooks'; import { useFetchFlowSSE } from '@/hooks/flow-hooks'; import styles from './index.less'; const ChatContainer = () => { const { sharedId: conversationId, from } = useGetSharedChatSearchParams(); const { visible, hideModal, documentId, selectedChunk, clickDocumentButton } = useClickDrawer(); const { handlePressEnter, handleInputChange, value, sendLoading, loading, ref, derivedMessages, hasError, } = useSendSharedMessage(); const sendDisabled = useSendButtonDisabled(value); const useFetchAvatar = useMemo(() => { return from === SharedFrom.Agent ? useFetchFlowSSE : useFetchNextConversationSSE; }, [from]); const { data: avatarData } = useFetchAvatar(); if (!conversationId) { return