2026-07-09 03:45:28 +00:00
|
|
|
|
# T011 — Studio wizard shell + stepper + draft persist
|
|
|
|
|
|
|
2026-07-10 05:10:31 +00:00
|
|
|
|
> Status: `done`
|
|
|
|
|
|
> Completed: 2026-07-09
|
2026-07-09 03:45:28 +00:00
|
|
|
|
> Milestone: `M5`
|
|
|
|
|
|
> Est. change: `~160 lines`
|
|
|
|
|
|
|
|
|
|
|
|
## Goal
|
|
|
|
|
|
|
|
|
|
|
|
6 步 wizard 殼(主題→船隊→劇本→預覽→船期→提交)+ 步驟指示;草稿 autosave localStorage。
|
|
|
|
|
|
|
|
|
|
|
|
## Depends on
|
|
|
|
|
|
|
|
|
|
|
|
- T010
|
|
|
|
|
|
|
|
|
|
|
|
## Inputs
|
|
|
|
|
|
|
|
|
|
|
|
- Spec §4.3 wizard 步驟
|
|
|
|
|
|
- key `harbor.play_draft`(spec §8.1)
|
|
|
|
|
|
|
|
|
|
|
|
## Outputs
|
|
|
|
|
|
|
|
|
|
|
|
### 程式變更
|
|
|
|
|
|
|
|
|
|
|
|
| 路徑 | 動作 | 說明 |
|
|
|
|
|
|
|------|------|------|
|
|
|
|
|
|
| `apps/web/src/pages/studio/WizardPage.tsx` | add | 殼 |
|
|
|
|
|
|
| `apps/web/src/components/studio/Stepper.tsx` | add | |
|
|
|
|
|
|
| `apps/web/src/pages/studio/wizardState.ts` | add | draft type + load/save |
|
|
|
|
|
|
|
|
|
|
|
|
### 行為變更
|
|
|
|
|
|
|
|
|
|
|
|
- 上一步/下一步
|
|
|
|
|
|
- 重新整理不丟未提交 draft(同 browser)
|
|
|
|
|
|
|
|
|
|
|
|
## Out of scope
|
|
|
|
|
|
|
|
|
|
|
|
- 各步表單細節(T012–T014)
|
|
|
|
|
|
|
|
|
|
|
|
## Acceptance
|
|
|
|
|
|
|
|
|
|
|
|
- [ ] 6 步可切換
|
|
|
|
|
|
- [ ] draft 持久化
|
|
|
|
|
|
- [ ] `npm run build` 通過
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
cd apps/web && npm run build
|
|
|
|
|
|
```
|