크루방 상세를 확인하겠습니다.
크루 상세를 "게임 로비 레디" 느낌으로 바꾸겠습니다. 멤버에 ready 상태를 추가하고, 탭하면 준비완료/준비중을 토글하도록 만들고, 버튼 문구도 변경합니다.
Now update RoomDetail to use ready-toggle lobby UI and the button label. Let me update the avatar and member list.
이제 RoomDetail을 게임 로비 스타일로 만들겠습니다. live 방은 레디 토글, 완료된 방은 기존 기록을 유지합니다.
Now replace the members list section and the button. First the members list:
Now update the bottom button. For lobby show "함께 등산 시작" (disabled until all ready), else keep recap.
Let me verify in the browser.
게임 로비처럼 잘 나옵니다. 지민·현우·수아·민재 모두 "준비완료"로 표시되고, 멤버를 탭하면 준비완료/준비중이 토글되며 상단에 "준비 4/4" 카운터가 보입니다. 모두 준비되면 하단 버튼이 활성화된 **"함께 등산 시작"**으로 바뀌고, 누군가 준비중이면 비활성 대기 상태로 표시됩니다.
이미지 설명: 3단 기능 목업입니다. 왼쪽은 "Mountain Recap" 화면(오이 커버, "북한산 오이 200키로 모임" 제목, 완등 배지, 통계 그리드, 컬러 아바타 멤버칩, "AI 타임라인" 구간들 — 각 구간은 번호/라벨/시간대/사진 수, 내부에 멤버별 아바타+이름+시각+사진+캡션). 가운데는 타임라인 이어지는 부분("험난한 바위 구간" 구간에 멤버 사진/캡션). 오른쪽은 다크 아카이브 카드(날짜, 등산 태그, 코스명, 통계, 참여 멤버별 거리).
핵심 요청: 크루에서 "함께 등산 시작"을 누르면 솔로 HIKE와 동일한 [등산 기록 중] 화면이 나와야 하고, 그 화면 안에서 크루 멤버 모두의 실시간 사진+메모를 타임라인으로 함께 볼 수 있어야 함(친구 위치는 불필요).
현재 흐름을 파악하겠습니다.
크루 진입 흐름과 멤버 데이터 구조를 확인하겠습니다.
전체 구조를 파악했습니다. 계획:
FreeRecord를 크루 정보와 함께 전체화면으로 열기onStartHike(crew) 호출먼저 page.tsx를 수정합니다.
Now update crew-screen to export CrewHike and wire the lobby start button.
핵심 작업: free-record.tsx에 크루 타임라인 뷰를 추가합니다. 먼저 imports와 타입, props를 확장합니다.
Now add crew timeline data helpers after the PHOTO_POOL definition.
Now update the component signature and state.
상단바 뒤로가기 로직을 stats 외 모든 뷰에서 동작하도록 수정하고, 헤더에 크루명을 표시합니다.
이제 stats 뷰에 크루 타임라인 진입 버튼을 추가하고, 지도/타임라인 분기를 만듭니다.
Now add the timeline view branch by replacing the map branch's closing.
totalPhotos 계산을 추가하고, 타임라인 하위 컴포넌트들을 정의합니다.
Now add the TimelineSegment and TimelineEntry components at the end of the file.
ファイル末尾に타임라인 하위 컴포넌트를 추가합니다.
이제 브라우저에서 전체 흐름을 검증합니다: 크루 → 오이 모임 → 함께 등산 시작 → 기록 중 → 크루 타임라인.
크루 기록 화면이 잘 나옵니다. 헤더에 "북한산 오이 200키로 모임 기록 중", 멤버 아바타(지·현·수·민)와 "크루 실시간 타임라인" 진입 버튼이 보입니다. 이제 타임라인 뷰를 확인합니다.
완성했습니다. 첨부 이미지처럼 멤버별 아바타·시각·사진·메모가 구간(들머리·출발 / 오르막 능선 / 험난한 바위 구간)으로 묶여 접고 펼칠 수 있는 실시간 타임라인이 잘 동작합니다.
요약: