42 lines
991 B
TypeScript
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[];
|
|
}>;
|
|
}
|