From 8be7072614e5573ef3c76365551bd2ee3eaac2ae Mon Sep 17 00:00:00 2001 From: ByungCheol Date: Sun, 28 Jun 2026 18:17:11 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EB=8C=93=EA=B8=80=20=EC=8B=A0=EA=B3=A0?= =?UTF-8?q?=20=EB=B8=94=EB=9D=BC=EC=9D=B8=EB=93=9C=20=EA=B4=80=EB=A6=AC?= =?UTF-8?q?=EC=9E=90=20=ED=95=B4=EC=A0=9C=20=EB=B2=84=ED=8A=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 --- src/api/boardApi.js | 4 ++++ src/views/board/BoardDetailView.vue | 19 +++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/src/api/boardApi.js b/src/api/boardApi.js index 8bed804..4700ff5 100644 --- a/src/api/boardApi.js +++ b/src/api/boardApi.js @@ -65,6 +65,10 @@ export const boardApi = { reportComment(commentId) { return http.post(`/board/comments/${commentId}/report`) }, + // 댓글 블라인드 해제 (관리자) + unblockComment(commentId) { + return http.post(`/board/comments/${commentId}/unblock`) + }, block(id, reason) { return http.post(`/board/posts/${id}/block`, { reason }) }, diff --git a/src/views/board/BoardDetailView.vue b/src/views/board/BoardDetailView.vue index 4606fd0..c988035 100644 --- a/src/views/board/BoardDetailView.vue +++ b/src/views/board/BoardDetailView.vue @@ -147,6 +147,14 @@ async function reportComment(c) { alert(e.response?.data?.message || '신고에 실패했습니다.') } } +async function unblockComment(c) { + try { + await boardApi.unblockComment(c.id) + await refreshComments() + } catch (e) { + alert(e.response?.data?.message || '해제에 실패했습니다.') + } +} // 댓글 목록만 새로고침 (다른 사람이 단 댓글·추천 반영) const refreshingComments = ref(false) @@ -366,6 +374,10 @@ onMounted(load) v-if="!isAdmin && auth.user && c.authorId !== auth.user.id" type="button" class="creport" @click="reportComment(c)" >🚩 신고 + @@ -662,6 +674,13 @@ button.notice-btn { color: #c0392b; opacity: 0.85; } +.cunblock { + padding: 0.2rem 0.6rem; + font-size: 0.8rem; + border-radius: 999px; + border-color: hsla(160, 100%, 37%, 1); + color: hsla(160, 100%, 37%, 1); +} .comment-votes { display: flex; gap: 0.4rem;