Files
yaris-obd/static/js/theme.js
T
Mathieu MoranandCopilot 7edea446c5 Phase 23: UI redesign — responsive mobile + desktop layout
- Replace SB Admin 2 sidebar with a clean fixed sidebar (desktop)
  and a sticky bottom tab navigation (mobile, ≤767px)
- Sidebar collapses to icon-only mode with state persisted in localStorage
- Logo is a functional home link on all viewports
- Mobile: full-width content, bottom nav replaces sidebar
- Dashboard: 6 OBD stat cards (status, speed, RPM, coolant, throttle, fuel)
  wired to live socket events; removed all placeholder buttons/dropdowns
- GPS info section cleaned up (lat/lon display instead of X/Y paragraphs)
- DTC page: live /api/dtc wiring — MIL indicator + DTC table populated from API
- New /api/dtc route added to app.py (mil + codes)
- yaris.js: added obd_coolant_temp / obd_fuel_level / obd_throttle listeners
- yaris.css: full rewrite — layout variables, sidebar, bottom nav, OBD cards,
  border-start utilities, mobile padding for bottom nav

Co-authored-by: Copilot <[email protected]>
2026-08-09 22:57:12 -04:00

31 lines
1.1 KiB
JavaScript

(function () {
'use strict';
const COLLAPSED_KEY = 'sidebar-collapsed';
const sidebar = document.getElementById('app-sidebar');
const contentWrapper = document.getElementById('content-wrapper');
const toggleBtn = document.getElementById('sidebarToggle');
if (!sidebar) return;
function applyCollapsed(collapsed) {
sidebar.classList.toggle('collapsed', collapsed);
contentWrapper.classList.toggle('sidebar-collapsed', collapsed);
const icon = toggleBtn && toggleBtn.querySelector('i');
if (icon) {
icon.className = collapsed ? 'fas fa-chevron-right' : 'fas fa-chevron-left';
}
}
// Restore saved state
applyCollapsed(localStorage.getItem(COLLAPSED_KEY) === '1');
if (toggleBtn) {
toggleBtn.addEventListener('click', function () {
const nowCollapsed = !sidebar.classList.contains('collapsed');
applyCollapsed(nowCollapsed);
localStorage.setItem(COLLAPSED_KEY, nowCollapsed ? '1' : '0');
});
}
})();