mirror of
https://github.com/AmanTahiliani/box-box.git
synced 2026-08-08 04:06:18 -04:00
fix(#73): consume canonical Weekend Context contract and repair navigation
Address the independent review blockers on PR #80 after rebasing onto the authoritative #72 Weekend Context API. - Replace the invented frontend WeekendContext with the exact backend contract (temporal_state, previous/focus/next meetings, previous_completed/active/next/ default_analysis sessions with availability). Every valid canonical payload now maps to a designed state via a total resolveViewState; a well-formed response can never fall through to the limited-data placeholder. - Make the canonical read the single source of truth: useWeekendContext no longer fans out to season/meetings/per-weekend/OpenF1/live queries. Only supplementary championship + news reads run, and only once the canonical context resolves. - Fix the Prepare/analysis flow: /preview is a stable alias that renders the preparation surface (PreSessionView) instead of redirecting back to the same between-races screen. - One primary navigation system per breakpoint: the mobile top-bar links are hidden so the bottom bar is the sole primary nav, and Admin is moved out of every Primary landmark into an operator-utilities toolbar. - Add Vitest coverage for the contract mapping, every temporal state, loading/ error/limited surfaces, the no-fanout guarantee, the /preview CTA, and the nav hierarchy; add hermetic Playwright journeys (seeded + injected canonical payloads), 390/768/1440 overflow checks, and Weekend visual snapshots. Retire the stale Command Center specs/snapshots. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -172,7 +172,14 @@ a { color: inherit; text-decoration: none; }
|
||||
.bottom-nav-link:hover { color: var(--text-2); }
|
||||
|
||||
@media (max-width: 640px) {
|
||||
/* On mobile the bottom bar is the single primary navigation system. The top
|
||||
bar's Primary links are hidden so the two are never both shown; the top bar
|
||||
keeps only the logo and the Admin operator utility. */
|
||||
.app-bottom-nav { display: flex; }
|
||||
.app-nav .nav-links { display: none; }
|
||||
.app-nav { justify-content: space-between; }
|
||||
/* Keep page content clear of the fixed bottom bar. */
|
||||
.wk-page { padding-bottom: calc(60px + env(safe-area-inset-bottom, 0) + var(--s4)); }
|
||||
}
|
||||
|
||||
/* ── Focus visibility (accessibility) ── */
|
||||
|
||||
Reference in New Issue
Block a user