From 1a0609d4dbcdef457a3580fb6bb5b587c9399644 Mon Sep 17 00:00:00 2001 From: Poovizhi99 Date: Thu, 19 Jun 2025 17:55:45 +0530 Subject: [PATCH] refactor: Simplify message and thread handling by removing unused props and improving state management --- .../components/ui/collaboration/Messages.tsx | 29 ++-- .../ui/collaboration/ThreadChat.tsx | 150 ++++++------------ .../commentInstance/commentInstance.tsx | 4 +- .../comments/instances/commentInstances.tsx | 60 +++---- .../socket/threadSocketResponses.dev.tsx | 54 ++++--- .../factoryBuilder/comments/getAllThreads.ts | 3 +- .../store/collaboration/useCommentStore.ts | 9 +- app/src/styles/scene/comments.scss | 37 +++-- 8 files changed, 151 insertions(+), 195 deletions(-) diff --git a/app/src/components/ui/collaboration/Messages.tsx b/app/src/components/ui/collaboration/Messages.tsx index 5a6bf47..bde300f 100644 --- a/app/src/components/ui/collaboration/Messages.tsx +++ b/app/src/components/ui/collaboration/Messages.tsx @@ -17,17 +17,15 @@ interface MessageProps { i: number; setMessages?: React.Dispatch> setIsEditable?: React.Dispatch> - setCreateComments?: React.Dispatch> setEditedThread?: React.Dispatch> setMode?: React.Dispatch> isEditable?: boolean; isEditableThread?: boolean - createComments?: boolean editedThread?: boolean; mode?: 'create' | 'edit' | null } -const Messages: React.FC = ({ val, i, setMessages, mode, setIsEditable, setEditedThread, editedThread, isEditableThread, setCreateComments, setMode }) => { +const Messages: React.FC = ({ val, i, setMessages, mode, setIsEditable, setEditedThread, editedThread, isEditableThread, setMode }) => { const { comments, updateComment, updateReply, removeReply } = useCommentStore(); const [openOptions, setOpenOptions] = useState(false); @@ -68,7 +66,7 @@ const Messages: React.FC = ({ val, i, setMessages, mode, setIsEdit // if (editThreadTitle.message == "ThreadTitle updated Successfully") { // const editedThread: CommentSchema = { // state: 'active', - // threadId: editThreadTitle.data._id, + // threadId: editThreadTitle.data.replyId, // creatorId: userId, // createdAt: getRelativeTime(editThreadTitle.data.createdAt), // threadTitle: value, @@ -98,7 +96,7 @@ const Messages: React.FC = ({ val, i, setMessages, mode, setIsEdit // const editComments = await addCommentsApi(projectId, value, selectedComment?.threadId, (val as Reply).replyId) // // const commentData = { - // replyId: `${editComments.data?._id}`, + // replyId: `${editComments.data?.replyId}`, // creatorId: `${userId}`, // createdAt: getRelativeTime(editComments.data?.createdAt), // lastUpdatedAt: "2 hrs ago", @@ -115,14 +113,13 @@ const Messages: React.FC = ({ val, i, setMessages, mode, setIsEdit comment: value, organization, threadId: selectedComment?.threadId, - commentId: (val as Reply)._id ?? "" + commentId: (val as Reply).replyId ?? "" } threadSocket.emit("v1-Comment:add", editComment); setIsEditable && setIsEditable(true); setEditedThread && setEditedThread(false) - setCreateComments && setCreateComments(false) } } catch { @@ -130,7 +127,7 @@ const Messages: React.FC = ({ val, i, setMessages, mode, setIsEdit } } - setValue(""); + // setValue(""); setIsEditComment(false); } @@ -138,7 +135,7 @@ const Messages: React.FC = ({ val, i, setMessages, mode, setIsEdit if (!projectId) return setOpenOptions(false); try { - // const deletedComment = await deleteCommentApi(projectId, selectedComment?.threadId, (val as Reply)._id) + // const deletedComment = await deleteCommentApi(projectId, selectedComment?.threadId, (val as Reply).replyId) // // if (deletedComment === "'Thread comment deleted Successfully'") { // setMessages && setMessages(prev => prev.filter(message => message.replyId !== replyID)); @@ -151,15 +148,15 @@ const Messages: React.FC = ({ val, i, setMessages, mode, setIsEdit const deleteComment = { projectId, userId, - commentId: (val as Reply)._id, + commentId: (val as Reply).replyId, organization, threadId: selectedComment?.threadId } setMessages(prev => prev.filter(message => message.replyId !== (val as Reply).replyId)) - console.log('(val as Reply).replyId): ', (val as Reply).replyId); - removeReply(selectedComment?.threadId, (val as Reply).replyId || ((val as Reply)._id ?? "")) // Remove listener after response + + removeReply(selectedComment?.threadId, (val as Reply).replyId); // Remove listener after response threadSocket.emit("v1-Comment:delete", deleteComment); } } catch { @@ -167,7 +164,6 @@ const Messages: React.FC = ({ val, i, setMessages, mode, setIsEdit } } - return ( <> {isEditComment ? ( @@ -215,9 +211,8 @@ const Messages: React.FC = ({ val, i, setMessages, mode, setIsEdit
{userName}
-
{getRelativeTime(val.createdAt)}
+
{isEditableThread ? getRelativeTime(val.createdAt) : val.createdAt}
- {/* {(val as Reply).comment && ( */} {(val as Reply).creatorId === userId && (
- {selectedComment &&
- -
}
+ {selectedComment && + + } {messages && messages.map((val, i) => ( - + ))}
- - {(commentPositionState && selectedComment === null) ? (< div className="send-message-wrapper"> +