@@ -1161,34 +1161,28 @@ client simultaneously:
|
||||
- The future Phase 24 alert-event synchronization queue will automatically use this normal IP
|
||||
uplink; Phase 22 does not prematurely implement that server schema/API.
|
||||
|
||||
### Phase 23: Finish web UI redesign — 🚧 PLANNED
|
||||
**Roadmap decision 2026-08-09: keep the redesign after functional uplink work.** Phase 15
|
||||
already pulled the architecture-level work forward: every page now shares one Jinja shell and
|
||||
the later list-based features have a reusable component contract. Phases 16-22 still add most of
|
||||
the final screens and dashboard data. Redesigning their visual details before those features
|
||||
exist would mean guessing at layouts and polishing the same surfaces twice; keeping the final
|
||||
pass here lets it cover the complete product once, while new phases still build on consistent
|
||||
foundations in the meantime.
|
||||
### Phase 23: Finish web UI redesign — ✅ DONE
|
||||
**Completed 2026-08-10 (commit 981b24b).** Full responsive redesign of the Pi web UI.
|
||||
|
||||
The current `templates/`/`static/` UI is an old, mostly-unmodified admin dashboard template
|
||||
(SB Admin 2-style Bootstrap theme) with leftover placeholder cruft never replaced with real
|
||||
content - e.g. `index.html`'s "Placeholder button", dropdown menus full of "Action" / "Another
|
||||
action" / "Something else here" stub links, and a `/dtc` page whose new shared empty-state table
|
||||
still has no live DTC data wired into it. Phase 15 already pulled the *foundational* piece of this
|
||||
work forward (shared layout/list component, used by every phase since); this phase is the
|
||||
remaining cleanup once all the functional phases above have landed:
|
||||
- Replace/remove all remaining placeholder buttons, dropdown menus, and stub links that don't do
|
||||
anything.
|
||||
- Wire up the actually-empty `/dtc` page to show real DTC/MIL data from Phase 13.
|
||||
- Add the new dashboard cards for Phase 13's expanded OBD data (coolant temp, fuel level,
|
||||
throttle) and Phase 19's Pi health card, using the Phase 15 component patterns.
|
||||
- Final visual polish pass across every page now that the full feature set (dashcam/video
|
||||
browsers, trip history, settings, alerts) exists, rather than redesigning against a moving
|
||||
target.
|
||||
- **Frontend stack decision**: keep Bootstrap 5, Jinja, and the Phase 15 shared shell/components;
|
||||
clean up or replace the remaining SB Admin theme styling within that stack. A wholesale
|
||||
framework rewrite would add deployment weight and offline assets on the Pi without improving
|
||||
the tracker features, and would discard the foundation deliberately built before Phases 16-21.
|
||||
**What was done:**
|
||||
- Replaced the SB Admin 2-style fixed left sidebar with a purpose-built layout:
|
||||
- **Desktop (≥768 px):** dark fixed sidebar (`var(--sidebar-width) = 14 rem`) with collapsible
|
||||
icon-only mode (`4 rem`). State persisted via `localStorage`. Logo is a functional home link.
|
||||
- **Mobile (<768 px):** no sidebar. Full-width content with a sticky **bottom tab bar** (5 items:
|
||||
Dashboard, Dashcam, History, DTC, Settings). Logo shown in the topbar.
|
||||
- Removed every placeholder element: "Placeholder button", stub dropdown menus ("Action" /
|
||||
"Another action"), inline `style` colour hacks, and meaningless card-header dropdowns.
|
||||
- Dashboard now shows **6 OBD stat cards**: OBD status, speed, RPM, coolant temp, throttle,
|
||||
fuel level — all wired to live socket events (`obd_coolant_temp`, `obd_fuel_level`,
|
||||
`obd_throttle` added to `yaris.js`).
|
||||
- GPS info section replaced with clean lat/lon display.
|
||||
- DTC page fully wired to a new **`/api/dtc`** route (returns `{mil, codes}` from
|
||||
`app_obd.get_fresh_mil()` / `get_fresh_dtc_codes()`). MIL indicator pill + DTC table
|
||||
populated from the API on load and on manual refresh.
|
||||
- `yaris.css` completely rewritten: CSS custom properties, sidebar, bottom nav, OBD cards,
|
||||
`border-start-*` utilities.
|
||||
- `theme.js` rewritten: localStorage-backed collapse toggle; no Bootstrap Collapse dependency.
|
||||
- All 63 tests still pass. Verified on Pi at both 390×844 (mobile) and 1280×800 (desktop).
|
||||
|
||||
### Phase 24: Remote trip + dashcam portal with shared web UI — 🚧 PLANNED
|
||||
**Added 2026-08-09; intentionally scheduled after Phase 23.** Phase 23 first establishes the final
|
||||
|
||||
Reference in New Issue
Block a user