← Cockpit Wireframes
드래프트 복원 — 무음 복원
Approved — build queue
Venue Finder · 코트 찾기
ArchiveStrip Map · 세션 스트립 전체 시나리오Headers · 헤더 아이콘Compaction — 일정 · 코트 · 스코어카드Compaction — 클럽 상세 · 홈Compaction — 기록 · 프로필Live anchor — 진행 중 밴드Density · 카드 밀도토스트 — 리디자인 제안위저드 내비게이션 — 결정 보드드래프트 복원 — 무음 복원클럽 조 편성 — 모델 결정 보드Session Detail — Redesign · 일정Venue Detail — Redesign · 테니스장Profile Detail — Redesign · 프로필Tournament Detail — Redesign · 대항전Applicant Detail — Redesign · 가입 심사Canvas Migration — 회비 · 멤버 · 규칙Record Detail — Redesign · 기록Venue Filters · 코트 필터 재구성
Decided 2026-08-15 — shipped; kept as the decision record
Interactive kit · grounded in code

드래프트 복원 — 무음 복원

확정 2026-08-15 — 구현 반영오너가 무음 복원(§2)을 채택 — create-club-screen.tsx / create-session-screen.tsx에 반영됐다. 현행(§1, WizardDraftBanner)은 폐지됐다. 저장 로직은 그대로 — 무엇을, 언제 보여주는지만 바뀌었다.
1
현행 — 명시적 확인
재진입마다 배너 + 선택, WizardDraftBanner
① 위저드 재진입 — 1단계 위에 배너
1 / 8
작성이 끝나지 않고 종료됐어요
처음부터이어서 하기
클럽 이름
예: 강남 테니스 클럽
다음
② "이어서 하기" 탭 — 저장된 5/8로 점프
5 / 8
정기 일정 회비
월 30,000원
입금 마감일
5
+
다음
사용자가 매번 선택해야 함.
2
무음 복원★ 시연
handleResumeDraft를 재진입 시 자동 실행 + 액션 토스트 1회
① 재진입 — 즉시 5/8, 필드 채워진 채 (배너 없음)
5 / 8
정기 일정 회비
월 30,000원
입금 마감일
5
+
다음
② 하단 transient 토스트 — 되돌리기 액션 1개
5 / 8
정기 일정 회비
월 30,000원
입금 마감일
5
+
다음
이어서 작성 중이에요처음부터
transient · 8초 · 액션 1개
③ 토스트 소멸 — 작성 계속
5 / 8
정기 일정 회비
월 30,000원
입금 마감일
5
+
다음
기본값 = 진행, 되돌리기 = 한 번의 탭.
처음부터는 이후에도 가능
1단계까지 뒤로 → ✕
1 / 8
클럽 이름
예: 강남 테니스 클럽
(돌아가는 중 — 되돌리기 아님)
종료 확인 — 기존 다이얼로그 그대로
작성 중인 내용이 있어요. 나갈까요?
계속 작성
나가기
기존 exit-confirm(handleDismiss)이 이미 수행하는 역할 — 새 다이얼로그 아님.
3
메커니즘
저장 로직 변경 없음 — 드래프트 + currentStep은 이미 영속(club-wizard.store.ts partialize: currentStep · formData · draftUpdatedAt).
변경점 — showDraftBanner를 세우는 대신 handleResumeDraft()를 재진입 시 자동 실행 + showToast에 action(label '처음부터') 1개를 실어 1회 노출.
드래프트 유효기간 — WIZARD_DRAFT_TTL_MS = 7일. 24시간이던 기존 게이트를 늘려 한 곳(wizard-draft.ts)에서 두 스토어가 공유 — 7일 초과면 배너도 토스트도 없이 조용히 새로 시작.
위험 케이스 — 오래된 드래프트를 본인 것으로 인지 못함 → 7일 유효기간 + 토스트 문구("이어서 작성 중이에요")가 완화하지만, 완전히 없애지는 못함.
4
비교
재진입 마찰
실수로 이어쓰기 위험
실수로 삭제 위험
업계 관례
현행
매번 탭 1회 필요
낮음 — 명시적 확인 후에만 진행
낮음 — 처음부터도 명시적 확인
드묾 — 대부분 앱은 무음 복원 선호
무음
없음 — 즉시 이어서
이론상 있음 — 기본값이 진행이라서. 7일 TTL 게이트 + 토스트 문구로 완화
낮음 — 되돌리기는 토스트 1탭, 이후에도 기존 exit-confirm으로 가능
Gmail(전송 취소) · Instagram(초안 게시물) = 무음 + undo 토스트
확정오너 결정 — 2026-08-15
§1/§2의 두 흐름과 §4의 비교표를 놓고 오너가 무음 복원(§2)을 채택했다 — 현행(§1, 명시적 WizardDraftBanner 확인)은 폐지. create-club/create-session 위저드는 재진입 시 handleResumeDraft를 자동 실행하고, 되돌리기 액션 1개짜리 토스트(이어서 작성 중이에요 / 처음부터, ~8초)를 띄운다. 드래프트 유효기간은 7일(WIZARD_DRAFT_TTL_MS) — 초과 시 배너도 토스트도 없이 조용히 새로 시작한다.
Spec (grounding, anatomy)

확정 2026-08-15 — 구현 반영. create-club/create-session 위저드의 드래프트 복원을 현행(명시적 배너 확인, 폐지된 WizardDraftBanner)과 무음 복원(재진입 시 자동 handleResumeDraft + 되돌리기 토스트 1개, Gmail/Instagram 관례, TTL 7일) 두 흐름으로 나란히 비교한다. 오너가 무음 복원을 채택 — §5는 그 결정을 기록한다.

grounded in 10 source file(s)
packages/ui/src/banner.tsxpackages/features/clubs/src/create-club-screen.tsxpackages/features/clubs/src/create-club-helpers.tspackages/features/sessions/src/create-session-screen.tsxpackages/app/src/presentation/stores/club-wizard.store.tspackages/app/src/presentation/stores/session-wizard.store.tspackages/app/src/presentation/stores/wizard-draft.tspackages/app/src/presentation/stores/toast.store.tspackages/app/src/config/i18n/ko/clubs.tspackages/app/src/config/i18n/ko/sessions.ts