id: 'strip-banner'
status: in-progress
Strip Banner
Reference
- URL: internal standard-commerce reference
- 위치: 헤더 상단 프로모션 띠배너
- 구조: 얇은 다크 배경 + 중앙 텍스트 슬라이드 + 좌우 화살표
- 참고 구현:
apps/makitt-standard-commerce/src/components/layout/StripBanner.tsx
React Component
- Path:
apps/makitt-standard-commerce/src/components/layout/StripBanner.tsx
- Status: implemented
- 반응형: 단일 행 고정 높이 배너, 모바일에서는 좌우 패딩 축소
- i18n: 서버 배너 데이터 기준
Prerequisites
makitt-server (shop-api)
고객 대면 API. shop storefront에서 호출.
| API | Method | Endpoint | Status |
|---|
| Banner group detail | GET | /shop/{shopId}/banners/{bannerId} | available |
makitt-server (admin-api)
셀러 어드민에서 이 기능의 데이터를 관리하기 위한 API.
| API | Method | Endpoint | Status |
|---|
| Banner group detail | GET | /api/v1/banner-groups/{bannerGroupId} | available |
| Banner group create | POST | /api/v1/banner-groups | available |
| Banner group update | PUT | /api/v1/banner-groups/{bannerGroupId} | available |
| Banner group delete | DELETE | /api/v1/banner-groups/{bannerGroupId} | available |
| Banner group search | GET | /api/v1/banner-groups/search | available |
makitt-server (도메인/모델링)
| 항목 | 내용 | Status |
|---|
| DynamoDB Entity | BannerGroup 단일 엔티티 + slide/text/cta VO 포함 | available |
| OpenSearch Index | banner-groups | available |
| Domain Service | BannerGroupService, BannerGroupSearchService | available |
| Application | BannerGroupApplication | available |
makitt-web (셀러 어드민 UI)
| 기능 | 설명 | Status |
|---|
| Banner list page | /home/content/banners 목록/검색/선택 | available |
| Banner create modal | 새 배너 그룹 생성 | available |
| Banner detail modal | 슬라이드/텍스트/CTA 수정 | available |
makitt-shop (HCS 렌더링)
| 항목 | 설명 | Status |
|---|
section renderer | 띠배너 루트 섹션 | available |
carousel renderer | 텍스트 슬라이드 전환 및 autoplay | available |
carousel-content / carousel-item renderer | 슬라이드 구조 | available |
text renderer | 제목 텍스트 | available |
icon / button renderer | 좌우 화살표 | available |
setState action | 슬라이드 이동 상태 제어 | available |
banner.banner resource | 배너 그룹 fetch + HCS 친화 정규화 | available |
HCS Conversion Notes
- standard-commerce
StripBanner의 높이, 색상, 간격을 그대로 반영
- 텍스트는
banner.banner 리소스의 slide.title을 사용
- close button은 요청에 따라 HCS asset에서 제외
- 기본 바인딩 배너는 실제 띠배너 ID
4231609c-9add-4536-a447-3b14a8309a36