import MessageItem from '@/components/message-item'; import DocumentPreviewer from '@/components/pdf-previewer'; import { MessageType } from '@/constants/chat'; import { useTranslate } from '@/hooks/common-hooks'; import { Button, Drawer, Flex, Input, Spin } from 'antd'; import { useClickDrawer, useFetchConversationOnMount, useGetFileIcon, useGetSendButtonDisabled, useSelectConversationLoading, useSendButtonDisabled, useSendMessage, } from '../hooks'; import { buildMessageItemReference } from '../utils'; import { useFetchUserInfo } from '@/hooks/user-setting-hooks'; import styles from './index.less'; const ChatContainer = () => { const { ref, currentConversation: conversation, addNewestConversation, removeLatestMessage, addNewestAnswer, } = useFetchConversationOnMount(); const { handleInputChange, handlePressEnter, value, loading: sendLoading, } = useSendMessage( conversation, addNewestConversation, removeLatestMessage, addNewestAnswer, ); const { visible, hideModal, documentId, selectedChunk, clickDocumentButton } = useClickDrawer(); const disabled = useGetSendButtonDisabled(); const sendDisabled = useSendButtonDisabled(value); useGetFileIcon(); const loading = useSelectConversationLoading(); const { t } = useTranslate('chat'); const { data: userInfo } = useFetchUserInfo(); return ( <> {conversation?.message?.map((message, i) => { return ( ); })} {t('send')} } onPressEnter={handlePressEnter} onChange={handleInputChange} /> > ); }; export default ChatContainer;