[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건 시 “첫 글을 남겨보세요”가 렌더된다
  • 라이트/다크 렌더