From d7bfeed259cf1b96581359e947897931093ebfe8 Mon Sep 17 00:00:00 2001 From: CH-122 <1521930938@qq.com> Date: Fri, 29 Aug 2025 13:59:02 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=9B=B4=E6=96=B0=E8=AF=84=E8=AE=BA?= =?UTF-8?q?=E9=A1=B9=E7=BB=84=E4=BB=B6=EF=BC=8C=E5=A2=9E=E5=8A=A0=E5=9B=9E?= =?UTF-8?q?=E5=A4=8D=E7=94=A8=E6=88=B7=E5=A4=B4=E5=83=8F=E7=82=B9=E5=87=BB?= =?UTF-8?q?=E4=BA=8B=E4=BB=B6=EF=BC=8C=E5=8F=96=E6=B6=88=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=20replace?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend_nuxt/components/CommentItem.vue | 4 +++- frontend_nuxt/pages/posts/[id]/index.vue | 7 ++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/frontend_nuxt/components/CommentItem.vue b/frontend_nuxt/components/CommentItem.vue index 03cb6e910..7179ab2f5 100644 --- a/frontend_nuxt/components/CommentItem.vue +++ b/frontend_nuxt/components/CommentItem.vue @@ -26,7 +26,8 @@ - + {{ comment.parentUserName }} @@ -391,6 +392,7 @@ const handleContentClick = (e) => { height: 20px; border-radius: 50%; margin-right: 5px; + cursor: pointer; } .reply-icon { diff --git a/frontend_nuxt/pages/posts/[id]/index.vue b/frontend_nuxt/pages/posts/[id]/index.vue index d15fc75a1..15cda3d0b 100644 --- a/frontend_nuxt/pages/posts/[id]/index.vue +++ b/frontend_nuxt/pages/posts/[id]/index.vue @@ -411,7 +411,7 @@ const gatherPostItems = () => { } } -const mapComment = (c, parentUserName = '', parentUserAvatar = '', level = 0) => ({ +const mapComment = (c, parentUserName = '', parentUserAvatar = '', parentUserId = '', level = 0) => ({ id: c.id, userName: c.author.username, medal: c.author.displayMedal, @@ -421,12 +421,13 @@ const mapComment = (c, parentUserName = '', parentUserAvatar = '', level = 0) => text: c.content, reactions: c.reactions || [], pinned: Boolean(c.pinned ?? c.pinnedAt ?? c.pinned_at), - reply: (c.replies || []).map((r) => mapComment(r, c.author.username, c.author.avatar, level + 1)), + reply: (c.replies || []).map((r) => mapComment(r, c.author.username, c.author.avatar, c.author.id, level + 1)), openReplies: level === 0, src: c.author.avatar, - iconClick: () => navigateTo(`/users/${c.author.id}`, { replace: true }), + iconClick: () => navigateTo(`/users/${c.author.id}`), parentUserName: parentUserName, parentUserAvatar: parentUserAvatar, + parentUserClick: parentUserId ? () => navigateTo(`/users/${parentUserId}`) : null, }) const getTop = (el) => {