.
All checks were successful
Deploy blog-frontend / build-and-deploy (push) Successful in 2m10s

This commit is contained in:
wypark
2026-05-28 19:29:54 +09:00
parent f4481b88cb
commit 58a012621a
23 changed files with 2169 additions and 679 deletions

View File

@@ -66,7 +66,7 @@
- 일반 회원과 비로그인 사용자는 관리자 버튼을 볼 수 없게 처리
- 기존 사이드바의 카테고리 편집 버튼, 프로필 수정 모달 제거
- 카테고리/프로필/댓글/게시글 관리는 `/admin` 내부에서만 수행
- `/write``/admin/posts/new` 또는 `/admin/write`로 편입하는 방향 검토
- `/write` 외부 링크와 기존 북마크 호환을 위해 legacy redirect로 유지하고, 실제 작성/수정 화면은 `/admin/posts/new`, `/admin/posts/[slug]/edit`로 편입
### 마크다운 렌더링 기능이 제한적임
@@ -133,7 +133,7 @@
/admin/settings
```
초기 구현에서는 라우트 수를 줄여 `/admin` 단일 페이지 안의 탭 UI로 시작해도 된다.
현재 구현에서는 `/admin` 대시보드와 세부 관리 라우트를 분리한다. 기존 `/write`는 호환 redirect로만 유지한다.
권장 MVP:
@@ -183,7 +183,7 @@
권장 동작:
- 비로그인: `/login?redirect=/admin` 또는 홈으로 이동
- 비로그인: `/login?redirect=/admin...`로 이동하고 로그인 성공 후 원래 가려던 관리자 경로로 복귀
- 일반 회원: “관리자 권한이 필요합니다” 토스트 후 홈으로 이동
- 관리자: 관리자 메뉴 노출 및 `/admin` 접근 허용
@@ -226,7 +226,7 @@
- 카테고리 수
- 최근 작성 글 5개
- 인기 글 5개
- 최근 댓글 5~10
- 최근 댓글 5개
- 빠른 작업: 새 글 작성, 카테고리 관리, 프로필 수정
### 게시글 관리
@@ -236,12 +236,16 @@
필요 UI:
- 검색/필터/정렬 가능한 게시글 테이블
- 카테고리 필터
- 제목, 카테고리, 날짜, 조회수, 작업 버튼
- 페이지 번호 직접 이동
- 현재 페이지 선택 및 대량 삭제
- 새 글 작성 버튼
- 수정 버튼
- 삭제 전 확인 모달
백엔드 유지 조건에서는 공개 `getPosts`를 관리 목록에도 사용한다. 비공개 글 같은 개념이 없다면 별도 admin list API 없이 충분하다.
대량 삭제는 별도 bulk API가 없으므로 기존 단건 삭제 API를 선택 항목별로 호출한다.
### 카테고리 관리
@@ -280,7 +284,9 @@
- 댓글 위치로 이동
- 관리자 삭제
단, `getAdminComments` 반환 타입이 현재 `any`이므로 실제 응답을 확인한 뒤 `AdminComment` 타입을 추가한다.
공개 댓글 목록의 일반 사용자/비회원 댓글 삭제 UX는 공개 기능으로 유지한다. 관리자 전용 강제 삭제만 `/admin/comments`로 분리한다.
단, `getAdminComments` 실제 필드 검증에는 관리자 인증이 필요하다. 2026-05-28 비인증 실서버 요청은 HTTP 403과 빈 본문을 반환했으므로, 프론트에서는 `postSlug`, `postTitle`, `author` 외에 중첩 `post`, `postResponse`, `member`, `guest` 등 가능한 alias를 정규화해 방어적으로 대응한다.
## 7. 마크다운 렌더러 개선 상세