id: 'announcement-detail'
status: completed
Announcement Detail
Reference
- URL: http://standard-commerce.makitt.localhost:3006/announcements/b04bb2b6-6195-4cca-a82e-4b2742bcaaaa
- 위치: standard-commerce 공지사항 상세 페이지 본문 영역
- 구조: back action + 제목/요약/작성자 메타 + rich text 본문 + 하단 목록 이동
React Component
- Path:
apps/makitt-standard-commerce/src/components/assets/announcement-detail/
- Status: implemented
- 반응형: 고정 폭 article 레이아웃, 모바일에서는 패딩 축소
- i18n: ko, en, ja
HCS JSON Asset
- Path:
apps/builder/data/hcs-asset/announcement-detail.json
- Status: implemented
- Resource 바인딩:
- 핵심 바인딩:
notice.title, notice.excerpt, notice.authorName, notice.isPinned, notice.createdAt
notice.contentUrl -> blog-content renderer
Prerequisites
makitt-server (shop-api)
고객 대면 API. shop storefront에서 호출.
| API | Method | Endpoint | Status |
|---|
| 공지사항 상세 조회 | GET | /shop/{shopId}/notices/{noticeId} | available |
| 공지 본문 로드 | GET | notice.contentUrl (S3 presigned/public URL) | available |
makitt-server (admin-api)
셀러 어드민에서 공지사항을 관리하기 위한 API.
| API | Method | Endpoint | Status |
|---|
| 공지사항 상세 조회 | GET | /shops/{shopId}/notices/{noticeId} | available |
| 공지사항 수정 | PUT | /shops/{shopId}/notices/{noticeId} | available |
makitt-server (도메인/모델링)
| 항목 | 내용 | Status |
|---|
| Notice Entity | excerpt, authorName, contentKey 포함 | available |
| Notice Content Storage | S3 draft/final content 저장 | available |
| Notice Search Sync | OpenSearch notices 문서 동기화 | available |
makitt-web (셀러 어드민 UI)
| 기능 | 설명 | Status |
|---|
| 공지사항 상세 편집 | product-style editor shell + rich text editor | available |
| 공지사항 미리보기 | notice storefront 시뮬레이션 | available |
makitt-shop (HCS 렌더링)
| 항목 | 설명 | Status |
|---|
notice.notice resource | 상세 fetch 및 schema 노출 | available |
blog-content renderer | lexical JSON contentUrl 렌더링 | available |
navigate action | 목록 이동 | available |
HCS Conversion Notes
- notice 상세는 rich text 본문이므로
blog-content renderer를 그대로 재사용한다.
- 목록 복귀 액션과 하단 CTA 모두
/notices로 연결했다.
- 본문이 없는 경우를 위해 최소 empty state를 같이 넣었다.