import MessageItem from '@/components/message-item'; import { MessageType } from '@/constants/chat'; import { useTranslate } from '@/hooks/common-hooks'; import { useSendButtonDisabled } from '@/pages/chat/hooks'; import { Button, Flex, Input, Spin } from 'antd'; import { forwardRef } from 'react'; import { useCreateSharedConversationOnMount, useSelectCurrentSharedConversation, useSendSharedMessage, } from '../shared-hooks'; import { buildMessageItemReference } from '../utils'; import styles from './index.less'; const ChatContainer = () => { const { t } = useTranslate('chat'); const { conversationId } = useCreateSharedConversationOnMount(); const { currentConversation: conversation, addNewestConversation, removeLatestMessage, ref, loading, setCurrentConversation, addNewestAnswer, } = useSelectCurrentSharedConversation(conversationId); const { handlePressEnter, handleInputChange, value, loading: sendLoading, } = useSendSharedMessage( conversation, addNewestConversation, removeLatestMessage, setCurrentConversation, addNewestAnswer, ); const sendDisabled = useSendButtonDisabled(value); return ( <>
{conversation?.message?.map((message, i) => { return ( ); })}
{t('send')} } onPressEnter={handlePressEnter} onChange={handleInputChange} /> ); }; export default forwardRef(ChatContainer);