import { useEffect, useState, useRef } from 'react'; import { List, Avatar, Timeline, Image } from 'antd'; import { MessageBox } from 'react-chat-elements'; import { useConversationContext } from '@/stores/Conversations/ConversationContext'; const Messages = (() => { const { messages: messagesList } = useConversationContext(); // const messagesList = parseMessage(messages); // console.log(messagesList); const messagesEndRef = useRef(null); useEffect(() => { messagesEndRef.current?.scrollIntoView({ behavior: 'smooth' }); }, [messagesList.length]); const [previewVisible, setPreviewVisible] = useState(false); const [previewSrc, setPreviewSrc] = useState(); const onPreviewClose = () => { setPreviewSrc(''); setPreviewVisible(false); }; const handlePreview = (msg) => { if (msg.type !== 'photo') { return false; } setPreviewVisible(true); setPreviewSrc(msg.data.uri); }; return (
{messagesList.map((message, index) => ( handlePreview(message)} letterItem={{ id: 1, letter: 'AS' }} // 'waiting'| 'sent' | 'received' | 'read' styles={{backgroundColor: message.sender === 'me' ? '#ccd5ae' : 'inherit'}} notchStyle={{fill: '#ccd5ae'}} // copiableDate={false} /> ))}
); }); export default Messages;