From 7e38eae2b7407af44597b33e05bf3162931c6f9e Mon Sep 17 00:00:00 2001 From: ByungCheol Date: Sun, 28 Jun 2026 13:21:37 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EA=B2=8C=EC=8B=9C=ED=8C=90=20=EC=9D=B8?= =?UTF-8?q?=EA=B8=B0/=EB=B8=94=EB=9D=BC=EC=9D=B8=EB=93=9C/=EC=9E=90?= =?UTF-8?q?=EA=B8=B0=EA=B8=80=20=EC=B0=A8=EB=8B=A8=C2=B7=ED=97=A4=EB=8D=94?= =?UTF-8?q?=20=EC=95=84=EB=B0=94=ED=83=80=C2=B7=EB=8C=93=EA=B8=80=20?= =?UTF-8?q?=EC=83=88=EB=A1=9C=EA=B3=A0=EC=B9=A8=20=EB=93=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 헤더에 내 아바타(계정정보 링크) + 앱 시작 시 프로필 동기화(재로그인 없이 아바타/포인트) - 목록: 인기 글 상단 배지(🔥), 비추천 20+ 블라인드 표시 - 상세: 본인 글/댓글 추천·비추천 비활성, 비추천 20+ 글/댓글 블라인드(그래도 보기) - 댓글: 인기 댓글 배지, 본문 작성자에 작성자 뱃지, 목록 하단 새로고침 버튼(입력폼 위) - 추천자 목록 가로 줄바꿈(아바타+이름 단위, 이름 안 잘리게) Co-Authored-By: Claude Opus 4.8 --- src/App.vue | 2 + src/api/authApi.js | 4 + src/components/layout/AppHeader.vue | 28 ++++- src/stores/auth.js | 13 ++- src/views/board/BoardDetailView.vue | 164 ++++++++++++++++++++++++---- src/views/board/BoardListView.vue | 33 ++++++ 6 files changed, 220 insertions(+), 24 deletions(-) diff --git a/src/App.vue b/src/App.vue index 1fa8be6..c3d7bc7 100644 --- a/src/App.vue +++ b/src/App.vue @@ -45,6 +45,8 @@ onMounted(() => { window.addEventListener('auth:unauthorized', onUnauthorized) window.addEventListener('premium:required', onPremiumRequired) ui.loadSignupEnabled() // 회원가입 허용 여부 선로딩(랜딩/로그인 가입 버튼에 반영) + // 로그인 상태면 전체 프로필(아바타·포인트) 최신화 — 재로그인 없이 헤더 아바타 반영 + if (auth.isAuthenticated) auth.refreshProfile() }) onUnmounted(() => { window.removeEventListener('auth:unauthorized', onUnauthorized) diff --git a/src/api/authApi.js b/src/api/authApi.js index 976cd30..706ec66 100644 --- a/src/api/authApi.js +++ b/src/api/authApi.js @@ -43,4 +43,8 @@ export const authApi = { points() { return http.get('/auth/points') }, + // 현재 사용자 전체 프로필(아바타·포인트 포함) — 재로그인 없이 최신값 동기화 + profile() { + return http.get('/auth/profile') + }, } diff --git a/src/components/layout/AppHeader.vue b/src/components/layout/AppHeader.vue index 3bde8e7..eb29fa0 100644 --- a/src/components/layout/AppHeader.vue +++ b/src/components/layout/AppHeader.vue @@ -1,10 +1,11 @@