import type { LiveStreamData } from '../../types' import { extrapolateClock, trackStatusClass, trackStatusLabel } from '../../lib/live' interface Props { isLive: boolean snapshot: LiveStreamData connection: 'connected' | 'connecting' | 'disconnected' | 'error' now: number } export function SessionBanner({ isLive, snapshot, connection, now }: Props) { const session = snapshot.Session const clock = extrapolateClock(snapshot.Clock, snapshot.ClockRefTime, snapshot.ClockExtrapolating, now) const status = snapshot.TrackStatus ? trackStatusLabel(snapshot.TrackStatus) : '' return (
{connection}

{session?.MeetingName || 'Live Timing'}

{[session?.SessionName, session?.CircuitName].filter(Boolean).join(' ยท ') || 'F1 live feed'}

Lap {snapshot.CurrentLap || '-'}/{snapshot.TotalLaps || '-'} {status && {status}} {clock && {clock}} {isLive ? 'live' : 'stale'}
) }