Files
hushroom/.cli/tasks/0016-lobby-boarding-modal-remove-memo.md

4.0 KiB

.cli/current.md

TASK_META (수정 금지)

  • TASK_TITLE: Lobby 목표 설정 화면을 모달로 전환 + 메모 기능 제거(동작 유지)
  • TASK_SLUG: lobby-boarding-modal-remove-memo

작업 목표

  • 우주정거장(로비)에서 항로 선택 후 **“바로 출항”**을 눌렀을 때 이동하던 목표 설정 화면을 페이지 이동 대신 모달로 띄우는 방식으로 변경한다.
  • 목표 설정 화면의 메모 기능은 완전히 삭제한다.
  • 모달에서 **“도킹 완료(출항)”**를 누르면 기존과 동일하게 다음 플로우(출항/flight 진입)가 진행되도록 한다.

사용자 플로우(필수)

  1. 로비(/)에서 항로 카드의 “바로 출항” 클릭
  2. (페이지 이동 없음) 목표 설정 모달 오픈
  3. 사용자가 목표(미션) 입력
  4. “도킹 완료(출항)” 클릭
  5. 기존과 동일한 방식으로 세션 시작 및 flight 화면으로 이동(또는 기존 출항 로직 호출)

작업 요구사항

A) 모달 전환(필수)

  • “바로 출항” 클릭 시 /boarding로 라우팅하지 말고, 로비 페이지에서 목표 설정 모달을 연다.
  • 모달 닫기(취소/배경 클릭/ESC 등) 시 로비로 그대로 돌아온다(세션 시작 금지).
  • 모달 오픈 시 미션 입력 필드에 자동 포커스.

B) 메모 기능 삭제(필수)

  • 목표 설정 UI에서 메모 입력(컨디션 메모 등) 관련:
    • UI 요소 제거
    • 상태(state) 제거
    • 저장/로그 스키마에 기록하던 필드가 있다면 더 이상 생성하지 않음(기존 데이터 읽기는 깨지지 않게)
  • 관련 placeholder/문구도 제거.

C) “도킹 완료(출항)” 동작 동일(필수)

  • 모달에서 “도킹 완료(출항)” 클릭 시:
    • 기존 boarding 페이지에서 하던 세션 생성/저장 로직을 그대로 재사용한다
    • 성공하면 기존과 동일하게 flight로 이동한다
  • 유효성:
    • 미션 입력은 필수(빈 값이면 출항 불가 + 기존과 동일한 방식의 에러 처리)

D) /boarding 라우트 처리(권장)

  • “바로 출항” 플로우는 모달로 전환하되, /boarding 페이지는 당장 제거하지 말고(링크/북마크 대비), 동작을 유지하거나 로비로 리다이렉트하는 방식 중 하나로 정리한다.
  • 단, 새로운 기능 범위를 넘어 UI/흐름을 크게 바꾸지 말 것.

구현 가이드(권장)

  • 모달 컴포넌트는 이미 있는 공용 Dialog/Modal을 사용한다(shared/ui/dialog 또는 동일 역할 컴포넌트).
  • 모달 내부 폼은 기존 boarding 폼을 재사용 가능한 컴포넌트로 분리해도 됨(동작 동일 유지).
  • 세션 시작 로직은 features/*-session/model 등 기존 모델을 그대로 호출(중복 구현 금지).

Non-scope

  • flight/debrief/log/settings UI 변경 금지
  • 스타필드/애니메이션 튜닝 금지
  • 신규 기능 추가 금지(메모 삭제 + 모달 전환만)

적용 파일(예상)

  • @src/app/page.tsx (로비에서 모달 제어)
  • @src/app/boarding/page.tsx (필요 시 리다이렉트/호환 처리)
  • 관련 위젯/피처:
    • widgets/lobby-routes 또는 로비 카드/출항 핸들러 위치
    • widgets/boarding-screen 또는 목표 설정 UI 컴포넌트
    • 공용 모달/다이얼로그 컴포넌트(이미 있으면 재사용)

완료 조건(AC)

  • 로비에서 “바로 출항” 클릭 시 /boarding로 이동하지 않고 목표 설정 모달이 열린다
  • 모달 닫으면 아무 것도 시작되지 않고 로비에 그대로 남는다
  • 메모 입력/UI/상태/저장 로직이 모두 제거되었다
  • 미션이 비어있으면 출항 불가(기존과 동일한 유효성 처리)
  • “도킹 완료(출항)” 클릭 시 기존과 동일하게 세션이 시작되고 flight로 이동한다
  • 기존 로그/세션 데이터 읽기 흐름이 깨지지 않는다(기존 데이터 호환)

완료 후 출력(최소)

  • 수정/생성/삭제된 파일 경로 목록
  • AC 체크 결과(OK/NO)