From ed3b8cf6288b644e34bff884b088666e33800312 Mon Sep 17 00:00:00 2001 From: AmanTahiliani Date: Fri, 17 Jul 2026 11:53:38 -0400 Subject: [PATCH] feat(#87): [Live] Correct FP/Q timing truth, hierarchy, and mobile navigation Implemented by claude via .agents/dev dispatch. --- frontend/src/components/Nav.tsx | 21 ++- .../src/components/live/RaceControlFeed.tsx | 6 +- .../src/components/live/SessionBanner.tsx | 8 +- frontend/src/components/live/TimingTower.tsx | 57 +++++-- frontend/src/components/live/TyreDegPanel.tsx | 7 +- frontend/src/lib/live.ts | 57 +++++++ frontend/src/styles/app.css | 24 +++ frontend/src/test/LiveComponents.test.tsx | 26 ++++ frontend/src/test/SessionBanner.test.tsx | 61 ++++++++ frontend/src/test/TyreDegPanel.test.tsx | 14 +- frontend/src/test/live.test.ts | 40 +++++ tests/live-timing.spec.ts | 140 ++++++++++++++++++ 12 files changed, 434 insertions(+), 27 deletions(-) create mode 100644 frontend/src/test/SessionBanner.test.tsx diff --git a/frontend/src/components/Nav.tsx b/frontend/src/components/Nav.tsx index 5542858..8bece1c 100644 --- a/frontend/src/components/Nav.tsx +++ b/frontend/src/components/Nav.tsx @@ -1,6 +1,17 @@ import { Link } from '@tanstack/react-router' +import { useQuery } from '@tanstack/react-query' +import { fetchLiveState } from '../api' +import { isLiveSessionActive } from '../lib/live' export function Nav() { + const { data: liveState } = useQuery({ + queryKey: ['live-state'], + queryFn: fetchLiveState, + staleTime: 5_000, + refetchInterval: 30_000, + }) + const liveActive = isLiveSessionActive(liveState) + return (