From 5602317d070b556cef200553f6dcc741289c94e7 Mon Sep 17 00:00:00 2001 From: kavin553 Date: Fri, 3 Jul 2026 00:15:16 +0530 Subject: [PATCH] feat : add edited message indicator with timestamp --- .../directMessages/DirectMessage.jsx | 78 ++++++++++++------- server/src/models/DirectMessageThread.js | 15 +++- server/src/routes/directMessages.js | 77 ++++++++++-------- 3 files changed, 110 insertions(+), 60 deletions(-) diff --git a/frontend/src/components/directMessages/DirectMessage.jsx b/frontend/src/components/directMessages/DirectMessage.jsx index 7ec80a0..0bde0e8 100644 --- a/frontend/src/components/directMessages/DirectMessage.jsx +++ b/frontend/src/components/directMessages/DirectMessage.jsx @@ -79,16 +79,19 @@ function DirectMessage() { } return [ - ...currentMessages, - { - sender_id: message.sender_id, - sender_name: message.sender_name, - sender_tag: message.sender_tag, - sender_pic: message.sender_pic, - content: message.content, - timestamp: message.timestamp, - }, - ]; + ...currentMessages, + { + sender_id: message.sender_id, + sender_name: message.sender_name, + sender_tag: message.sender_tag, + sender_pic: message.sender_pic, + content: message.content, + timestamp: message.timestamp, + + edited: message.edited ?? false, + editedAt: message.editedAt ?? null, + }, +]; }); }; @@ -98,13 +101,18 @@ function DirectMessage() { } setMessages((currentMessages) => - currentMessages.map((entry) => - String(entry.timestamp) === String(message.timestamp) && - entry.sender_id === message.friend_id - ? { ...entry, content: message.content } - : entry - ) - ); + currentMessages.map((entry) => + String(entry.timestamp) === String(message.timestamp) && + entry.sender_id === message.sender_id + ? { + ...entry, + content: message.content, + edited: message.edited, + editedAt: message.editedAt, + } + : entry + ) +); }; const handleDeletedMessage = (message) => { @@ -214,7 +222,12 @@ function DirectMessage() { currentMessages.map((entry) => String(entry.timestamp) === String(message.timestamp) && entry.sender_id === currentUser.id - ? { ...entry, content: editingContent.trim() } + ? { + ...entry, + content: editingContent.trim(), + edited: true, + editedAt: Date.now(), + } : entry ) ); @@ -327,15 +340,26 @@ function DirectMessage() { ) : (
- {message.content} -
+ className={[ + "rounded-2xl border px-3 py-2 text-sm leading-relaxed", + mine + ? "border-brand-400/20 bg-brand-400/10 text-white" + : "border-white/10 bg-white/5 text-white/85", + ].join(" ")} +> +
+ {message.content} + + {message.edited && ( + + Edited + + )} +
+
{mine ? (