# 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] | [ ] | | 13 | Update JourneyList with arrival buffer filtering | [x] | [ ] | ## Phase 6 — Verification & Testing (Steps 14-16) | # | Step | ✅ | ✔️ | |---|---|----|----| | 14 | Integration verification (manual testing) | [ ] | [ ] | | 15 | Build verification (typecheck, lint, test, build) | [ ] | [ ] | | 16 | Update api-client exports | [ ] | [ ] | --- **Legend:** - ✅ = Done (code written) - ✔️ = Verified (tests/builds pass) - `[~]` = Optional or deferred (never blocks phase advancement)