Files
gridpilot.gg/apps/website/lib/view-data/LeaguesViewData.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

40 lines
1.0 KiB
TypeScript

import { ViewData } from '@/lib/contracts/view-data/ViewData';
/**
* Leagues ViewData
*
* SSR-safe data structure that can be built directly from DTO
* without ViewModel instantiation. Contains formatted values
* for display and ISO string timestamps for JSON serialization.
*/
export interface LeaguesViewData extends ViewData {
leagues: Array<{
id: string;
name: string;
description: string | null;
logoUrl: string | null;
ownerId: string;
createdAt: string; // ISO string
maxDrivers: number;
usedDriverSlots: number;
activeDriversCount?: number;
nextRaceAt?: string;
maxTeams: number | undefined;
usedTeamSlots: number | undefined;
structureSummary: string;
timingSummary: string;
category: string | null;
scoring: {
gameId: string;
gameName: string;
primaryChampionshipType: string;
scoringPresetId: string;
scoringPresetName: string;
dropPolicySummary: string;
scoringPatternSummary: string;
} | undefined;
}>;
}