import type { RaceControlMessage } from '../types' interface Props { messages: RaceControlMessage[] } function formatEventTime(date: string): string { if (!date) return '—' const parsed = new Date(date) if (Number.isNaN(parsed.getTime())) return date return parsed.toLocaleTimeString('en-GB', { hour: '2-digit', minute: '2-digit', second: '2-digit', }) } function eventLabel(message: RaceControlMessage): string { return message.flag || message.category || 'Message' } export function RaceControlView({ messages }: Props) { if (messages.length === 0) { return (
box-box --ingest-session <key> to load this dataset.
| Time | Lap | Event | Driver | Message |
|---|---|---|---|---|
| {formatEventTime(message.date)} | {message.lap_number ?? '—'} | {eventLabel(message)} {message.scope && ( {message.scope.toLowerCase()} )} | {message.driver_number ?? '—'} | {message.message || '—'} |