55 lines
1.8 KiB
Markdown
55 lines
1.8 KiB
Markdown
# TimeToLeave — Features Implementation Checklist
|
|
|
|
## Phase 1 — New Settings Infrastructure (Steps 1-3)
|
|
|
|
| # | Step | ✅ | ✔️ |
|
|
|---|---|----|----|
|
|
| 1 | Extend ReminderSettings type with 3 new fields | [x] | [x] |
|
|
| 2 | Update useReminderSettings hook with defaults + setters | [x] | [x] |
|
|
| 3 | Update ReminderSettingsPanel UI (slider + 2 toggles) | [x] | [x] |
|
|
|
|
## Phase 2 — Walk Routing Infrastructure (Steps 4-6)
|
|
|
|
| # | Step | ✅ | ✔️ |
|
|
|---|---|----|----|
|
|
| 4 | Create WalkRoutingClient (OSRM foot profile) | [x] | [x] |
|
|
| 5 | Create /api/walk-route endpoint | [x] | [x] |
|
|
| 6 | Add getWalkRoute to api-client package | [x] | [x] |
|
|
|
|
## Phase 3 — Departure Time Calculation (Steps 7-8)
|
|
|
|
| # | Step | ✅ | ✔️ |
|
|
|---|---|----|----|
|
|
| 7 | Create useDepartureTime hook | [x] | [x] |
|
|
| 8 | Update useClock to accept departureTime override | [x] | [x] |
|
|
|
|
## Phase 4 — Mode Selector & EventCard Updates (Steps 9-11)
|
|
|
|
| # | Step | ✅ | ✔️ |
|
|
|---|---|----|----|
|
|
| 9 | Create useWalkRoute hook | [x] | [x] |
|
|
| 10 | Create WalkingOption component | [x] | [x] |
|
|
| 11 | Update EventCard with mode selector + conditional rendering | [x] | [x] |
|
|
|
|
## Phase 5 — TrainSection & JourneyList Updates (Steps 12-13)
|
|
|
|
| # | Step | ✅ | ✔️ |
|
|
|---|---|----|----|
|
|
| 12 | Update TrainSection props (arrival buffer + walk option) | [x] | [x] |
|
|
| 13 | Update JourneyList with arrival buffer filtering | [x] | [x] |
|
|
|
|
## Phase 6 — Verification & Testing (Steps 14-16)
|
|
|
|
| # | Step | ✅ | ✔️ |
|
|
|---|---|----|----|
|
|
| 14 | Integration verification (manual testing) | [ ] | [ ] |
|
|
| 15 | Build verification (typecheck, lint, test, build) | [x] | [x] |
|
|
| 16 | Update api-client exports | [x] | [x] |
|
|
|
|
---
|
|
|
|
**Legend:**
|
|
- ✅ = Done (code written)
|
|
- ✔️ = Verified (tests/builds pass)
|
|
- `[~]` = Optional or deferred (never blocks phase advancement)
|