Files
gridpilot.gg/apps/website/lib/view-data/RacesViewData.ts
Marc Mintel 18133aef4c
Some checks failed
Contract Testing / contract-tests (pull_request) Failing after 5m42s
Contract Testing / contract-snapshot (pull_request) Has been skipped
view data fixes
2026-01-22 23:40:38 +01:00

42 lines
991 B
TypeScript

import { ViewData } from "../contracts/view-data/ViewData";
export interface RaceViewData extends ViewData {
id: string;
track: string;
car: string;
scheduledAt: string;
scheduledAtLabel: string;
timeLabel: string;
relativeTimeLabel: string;
status: 'scheduled' | 'running' | 'completed' | 'cancelled';
statusLabel: string;
statusVariant: string;
statusIconName: string;
sessionType: string;
leagueId: string | null;
leagueName: string | null;
strengthOfField: number | null;
isUpcoming: boolean;
isLive: boolean;
isPast: boolean;
}
export interface RacesViewData extends ViewData {
races: RaceViewData[];
totalCount: number;
scheduledCount: number;
runningCount: number;
completedCount: number;
leagues: Array<{ id: string; name: string }>;
upcomingRaces: RaceViewData[];
liveRaces: RaceViewData[];
recentResults: RaceViewData[];
racesByDate: Array<{
dateKey: string;
dateLabel: string;
races: RaceViewData[];
}>;
}