website refactor
This commit is contained in:
28
apps/website/lib/view-data/leagues/ProtestDetailViewData.ts
Normal file
28
apps/website/lib/view-data/leagues/ProtestDetailViewData.ts
Normal file
@@ -0,0 +1,28 @@
|
||||
export interface ProtestDetailViewData {
|
||||
protestId: string;
|
||||
leagueId: string;
|
||||
status: string;
|
||||
submittedAt: string;
|
||||
incident: {
|
||||
lap: number;
|
||||
description: string;
|
||||
};
|
||||
protestingDriver: {
|
||||
id: string;
|
||||
name: string;
|
||||
};
|
||||
accusedDriver: {
|
||||
id: string;
|
||||
name: string;
|
||||
};
|
||||
race: {
|
||||
id: string;
|
||||
name: string;
|
||||
scheduledAt: string;
|
||||
};
|
||||
penaltyTypes: Array<{
|
||||
type: string;
|
||||
label: string;
|
||||
description: string;
|
||||
}>;
|
||||
}
|
||||
15
apps/website/lib/view-data/leagues/RulebookViewData.ts
Normal file
15
apps/website/lib/view-data/leagues/RulebookViewData.ts
Normal file
@@ -0,0 +1,15 @@
|
||||
export interface RulebookViewData {
|
||||
leagueId: string;
|
||||
gameName: string;
|
||||
scoringPresetName: string;
|
||||
championshipsCount: number;
|
||||
sessionTypes: string;
|
||||
dropPolicySummary: string;
|
||||
hasActiveDropPolicy: boolean;
|
||||
positionPoints: Array<{
|
||||
position: number;
|
||||
points: number;
|
||||
}>;
|
||||
bonusPoints: string[];
|
||||
hasBonusPoints: boolean;
|
||||
}
|
||||
48
apps/website/lib/view-data/leagues/StewardingViewData.ts
Normal file
48
apps/website/lib/view-data/leagues/StewardingViewData.ts
Normal file
@@ -0,0 +1,48 @@
|
||||
export interface StewardingViewData {
|
||||
leagueId: string;
|
||||
totalPending: number;
|
||||
totalResolved: number;
|
||||
totalPenalties: number;
|
||||
races: Array<{
|
||||
id: string;
|
||||
track: string;
|
||||
scheduledAt: string; // ISO string
|
||||
pendingProtests: Array<{
|
||||
id: string;
|
||||
protestingDriverId: string;
|
||||
accusedDriverId: string;
|
||||
incident: {
|
||||
lap: number;
|
||||
description: string;
|
||||
};
|
||||
filedAt: string; // ISO string
|
||||
status: string;
|
||||
proofVideoUrl?: string;
|
||||
decisionNotes?: string;
|
||||
}>;
|
||||
resolvedProtests: Array<{
|
||||
id: string;
|
||||
protestingDriverId: string;
|
||||
accusedDriverId: string;
|
||||
incident: {
|
||||
lap: number;
|
||||
description: string;
|
||||
};
|
||||
filedAt: string; // ISO string
|
||||
status: string;
|
||||
proofVideoUrl?: string;
|
||||
decisionNotes?: string;
|
||||
}>;
|
||||
penalties: Array<{
|
||||
id: string;
|
||||
driverId: string;
|
||||
type: string;
|
||||
value: number;
|
||||
reason: string;
|
||||
}>;
|
||||
}>;
|
||||
drivers: Array<{
|
||||
id: string;
|
||||
name: string;
|
||||
}>;
|
||||
}
|
||||
Reference in New Issue
Block a user