import { teamColor } from '../../utils' import type { LiveStreamData } from '../../types' import { driverCode, positionDelta, positionDeltaClass, sortLiveTimingRows, tyreClass, tyreLabel, } from '../../lib/live' interface Props { snapshot: LiveStreamData } function posClass(pos: number): string { if (pos === 1) return 'pos-p1' if (pos === 2) return 'pos-p2' if (pos === 3) return 'pos-p3' return 'pos-n' } export function TimingTower({ snapshot }: Props) { const rows = sortLiveTimingRows(snapshot) if (rows.length === 0) { return (
| Pos | Δ | Driver | Tyre | Last Lap | Gap | Best | Laps |
|---|---|---|---|---|---|---|---|
| {row.Position} | {delta} |
{driverCode(row)}
{row.RacingNumber}
{driver.InPit && PIT}
{driver.PitOut && !driver.InPit && OUT}
{driver.Retired && RET}
{driver.KnockedOut && KO}
{driver.Cutoff && !driver.KnockedOut && CUT}
{driver.OnFlyingLap && FL}
|
{tyreLabel(row.Tyre)} | {driver.LastLapTime || '-'} | {driver.GapToLeader || driver.Interval || '-'} | {driver.BestLapTime || '-'} | {driver.NumberOfLaps || '-'} |