[FE-19] 앱 모임 게시판 섹션 컴포넌트 (A-P1/A-P2)
작업 내용 (설계 의도)
변경 사항
mobile/components/community/CommunityBoardSection.tsx 신규(standalone 컴포넌트 — 모임 상세 통합은 FE-25이 배선, 이 티켓은 컴포넌트 파일만 소유해 Single Writer 충돌 회피).
- props:
communityId,membership(멤버십 상태·역할),visibility. useCommunityPosts(communityId)(FE-06)로 목록. NOTICE 상단 배지. 카드 탭 →community/[id]이동(FE-16).- 멤버십 게이트: ACTIVE 멤버만 글쓰기 플로팅 CTA 노출(HOST면 NOTICE 작성 가능). PRIVATE 비멤버 → 잠금 UI(BoardLockedView, 자물쇠 + “멤버만 볼 수 있어요”) — 403은 에러가 아니라 잠금 상태.
- 4상태(로딩/0건 “첫 글을 남겨보세요”/에러/리스트). 색 토큰.
근거: design-fe-app A-P1/A-P2, 상태 판정 매트릭스(FR-2/3/7).
의존
- FE-06 (useCommunityPosts)
다이어그램
클래스 의존
flowchart LR Section["CommunityBoardSection"] --> Hook["useCommunityPosts (FE-06)"] Section --> UI["components/ui + PostCard"] Integ["communities/[id] (FE-25)"] --> Section
테스트 케이스
- ACTIVE 멤버에게 글쓰기 CTA가 노출된다
- PRIVATE 비멤버에게 잠금 UI(에러 아님)가 렌더된다
- 일반 MEMBER에게는 NOTICE 작성 진입이 제한된다(HOST만)
- NOTICE 게시글이 상단 배지로 구분 렌더된다
- 게시글 0건 시 “첫 글을 남겨보세요”가 렌더된다
- 라이트/다크 렌더