Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | 10x 11x 11x 11x 7x 1x 1x 11x 7x 4x 4x 11x 8x 1x 11x 2x | import React, { useEffect, useState } from "react"; import Message from "../Message/Message"; import styles from "./Conversation.module.scss"; const Conversation = ({ user, msgObj, queryMessages, centralMessage, query, queryMessagesBody, }) => { const [chatData, setChatData] = useState([]); const [retain, setRetain] = useState(false); useEffect(() => { if (user) { setChatData(user?.getHC_Lead?.threads[0]?.messages); setRetain(true); } }, [user]); useEffect(() => { if (queryMessages?.length !== 0) { setChatData(queryMessages); setRetain(false); } }, [queryMessages]); useEffect(() => { if (retain) { Iif (msgObj !== undefined && msgObj !== null) { if (Object.keys(msgObj).length > 0) { const msgExistsInConversation = chatData?.[chatData.length - 1]?.id === msgObj.id; delete msgObj.thread; // delete msgObj.id if (!msgExistsInConversation) { let appendNewMsg = [...chatData, msgObj]; return setChatData(appendNewMsg); } } } } }, [retain, msgObj]); return ( <div className={styles.Conversation}> {chatData ?.map((message, index) => { return ( <Message name={user?.getHC_Lead?.username} key={index} isMyMessage={message.type === "sent"} message={message} query={query} centralMessage={centralMessage} queryMessagesBody={queryMessagesBody} /> ); }) .reverse()} </div> ); }; export default Conversation; |