feat: 게시판 공지 UI (관리자) — 작성 체크박스/상세 토글/목록 배지

- BoardWriteView: 관리자가 커뮤니티 새 글 작성 시 '공지로 등록' 체크박스
- BoardDetailView: 관리자 공지 등록/해제 버튼 + 제목 공지 배지
- BoardListView: 공지 배지 + 행 강조(최상단은 백엔드 정렬)
- boardApi: setNotice/unsetNotice

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
ByungCheol
2026-06-27 22:07:03 +09:00
parent ef1d718fb8
commit f07cb349e2
4 changed files with 76 additions and 2 deletions
+18 -1
View File
@@ -163,8 +163,9 @@ onMounted(loadTags)
</tr>
</thead>
<tbody>
<tr v-for="p in posts" :key="p.id" @click="router.push(`/board/${category}/${p.id}`)">
<tr v-for="p in posts" :key="p.id" :class="{ 'notice-row': p.notice }" @click="router.push(`/board/${category}/${p.id}`)">
<td>
<span v-if="p.notice" class="notice-badge">공지</span>
<template v-if="p.blocked && !isAdmin">
<span class="blocked-msg">🚫 관리자에 의해 제한된 게시글입니다.</span>
</template>
@@ -318,6 +319,22 @@ button:disabled {
color: #c0392b;
font-size: 0.72rem;
}
.notice-badge {
margin-right: 0.4rem;
padding: 0.05rem 0.4rem;
border-radius: 3px;
background: hsla(160, 100%, 37%, 1);
color: #fff;
font-size: 0.72rem;
font-weight: 700;
vertical-align: middle;
}
.notice-row {
background: hsla(160, 100%, 37%, 0.06);
}
.notice-row .title {
font-weight: 600;
}
/* 하단 영역: 페이징(가운데) + 돋보기(오른쪽) 같은 행 */
.list-footer {