Files
gridpilot.gg/apps/website/lib/view-data/RaceStewardingViewData.ts
Marc Mintel 046852703f
Some checks failed
Contract Testing / contract-tests (pull_request) Failing after 5m51s
Contract Testing / contract-snapshot (pull_request) Has been skipped
view data fixes
2026-01-24 12:14:08 +01:00

55 lines
1.1 KiB
TypeScript

/**
* ViewData for RaceStewarding
* This is the JSON-serializable input for the Template.
*/
export interface RaceStewardingViewData {
race: {
id: string;
track: string;
scheduledAt: string;
status: string;
} | null;
league: {
id: string;
name: string;
} | null;
pendingProtests: Array<{
id: string;
protestingDriverId: string;
accusedDriverId: string;
incident: {
lap: number;
description: string;
};
filedAt: string;
status: string;
decisionNotes?: string | null;
proofVideoUrl?: string | null;
}>;
resolvedProtests: Array<{
id: string;
protestingDriverId: string;
accusedDriverId: string;
incident: {
lap: number;
description: string;
};
filedAt: string;
status: string;
decisionNotes?: string | null;
proofVideoUrl?: string | null;
}>;
penalties: Array<{
id: string;
driverId: string;
type: string;
value: number;
reason: string;
notes?: string | null;
}>;
pendingCount: number;
resolvedCount: number;
penaltiesCount: number;
driverMap: Record<string, { id: string; name: string }>;
}