[FE-12] 커뮤니티 상세·멤버십·역할 화면
작업 내용 (설계 의도)
변경 사항
근거: 설계 문서 S5. 파일: app/communities/[id].tsx(신규, 이 티켓 단독 소유).
동아리 상세 + 가입/멤버/역할 관리 화면.
- 컨테이너:
useCommunity·useCommunityMembers(FE-07) +useMyProfile(내 역할 판정) + 멤버십 mutation(useJoinCommunity/useApproveMember/useKickMember/useTransferHost/useLeaveCommunity). - 상단 요약(종목·공개여부·멤버수·방장) + 역할별 주요 CTA: 비멤버→가입(공개=즉시 ACTIVE/비공개=승인대기 표시), 멤버→“채팅 입장”(전용방 이동), 방장→멤버별 강퇴/위임.
- 멤버 리스트(역할 배지). 방장에게만 강퇴/위임 노출(FR-3). 강퇴/위임/탈퇴는 확인 다이얼로그. 강퇴/탈퇴 성공 시 방목록 무효화(자동 퇴장 FR-5).
- 게스트/비멤버는 멤버 목록 접근 제한 안내(FR-13).
- 4상태(loading/empty 방어/error/success).
- 토스 패턴: 상단 요약 + 명확한 단일 주요 CTA, 멤버는 하위 섹션.
색 하드코딩 금지, 라이트/다크. 역할 판정 로직은 유틸/훅.
의존
- FE-04 (UI 프리미티브), FE-07 (커뮤니티 훅)
다이어그램
클래스 의존
flowchart LR Detail[communities/id] --> useCommunity Detail --> useCommunityMembers Detail --> useJoinCommunity Detail --> useKickMember Detail --> useTransferHost
테스트 케이스
- 방장에게 멤버별 강퇴·위임 버튼이 노출되고 일반 멤버에게는 노출되지 않는다
- 비공개 커뮤니티 가입 시 “승인 대기 중” 상태가 표시된다
- 공개 커뮤니티 가입 시 즉시 ACTIVE가 되고 “채팅 입장”이 노출된다
- 강퇴 확인 후 성공 시 방목록 캐시가 무효화된다(자동 퇴장)
- 탈퇴 시 확인 다이얼로그가 뜨고 확정 시 멤버에서 제거된다
- 비멤버는 멤버 목록 접근 제한 안내를 본다