id: 'announcement-list'
status: completed
Announcement List
Reference
- URL: http://standard-commerce.makitt.localhost:3006/announcements
- 위치: standard-commerce 공지사항 목록 페이지 메인 영역
- 구조: 상단 타이틀 + 게시판형 테이블 + 페이지네이션
React Component
- Path:
apps/makitt-standard-commerce/src/components/assets/announcement-list/
- Status: implemented
- 반응형: Desktop 테이블 / Mobile 스택형 row
- i18n: ko, en, ja
HCS JSON Asset
- Path:
apps/builder/data/hcs-asset/announcement-list.json
- Status: implemented
- Resource 바인딩:
- 핵심 바인딩:
notices.items repeat
notice.title, notice.excerpt, notice.authorName, notice.isPinned, notice.createdAt
notices.pagination.* 기반 페이지네이션
Prerequisites
makitt-server (shop-api)
고객 대면 API. shop storefront에서 호출.
| API | Method | Endpoint | Status |
|---|
| 공지사항 목록 조회 | GET | /shop/{shopId}/notices/list | available |
makitt-server (admin-api)
셀러 어드민에서 공지사항을 관리하기 위한 API.
| API | Method | Endpoint | Status |
|---|
| 공지사항 목록 조회 | GET | /shops/{shopId}/notices | available |
| 공지사항 생성/수정/삭제 | POST/PUT/DELETE | /shops/{shopId}/notices/* | available |
makitt-server (도메인/모델링)
| 항목 | 내용 | Status |
|---|
| Notice Entity | DynamoDB notice 엔티티 | available |
| Notice Search Document | OpenSearch notices 인덱스 | available |
| Notice Content Storage | S3 기반 contentUrl/contentKey 저장 | available |
| Notice Application | create/update/delete/list/detail 흐름 | available |
makitt-web (셀러 어드민 UI)
| 기능 | 설명 | Status |
|---|
| 공지사항 목록 | 표 형식 목록, 검색, 고정 표시 | available |
| 공지사항 편집 | 제목, excerpt, author, pinned, rich text 본문 | available |
makitt-shop (HCS 렌더링)
| 항목 | 설명 | Status |
|---|
notice.notices resource | 목록 fetch 및 schema 노출 | available |
section/container/link/text/heading/button renderer | 게시판 구조 렌더링 | available |
pagination action | page query 변경 | available |
navigate action | 상세 페이지 이동 | available |
HCS Conversion Notes
- standard-commerce 목록 페이지의 게시판형 UI를 builder local asset으로 옮겼다.
- 제목 아래 excerpt를 한 줄로 노출해 목록 정보 밀도를 높였다.
- 번호 컬럼은 pinned 항목일 때
공지/Notice/告知로 대체한다.
- 모바일에서는 테이블 헤더를 숨기고 메타 + 제목 + excerpt 순으로 재배치한다.