Files
gridpilot.gg/apps/website/lib/view-data/LeagueDetailPageViewData.ts
2026-01-23 15:30:23 +01:00

42 lines
905 B
TypeScript

import type { DriverViewData } from './DriverViewData';
export interface SponsorInfo {
id: string;
name: string;
logoUrl?: string;
websiteUrl?: string;
tier: 'main' | 'secondary';
tagline?: string;
}
export interface LeagueMembershipWithRole {
driverId: string;
role: 'owner' | 'admin' | 'steward' | 'member';
status: 'active' | 'inactive';
joinedAt: string;
}
export interface LeagueDetailPageViewData {
id: string;
name: string;
description?: string;
ownerId: string;
createdAt: string;
settings: {
maxDrivers?: number;
};
socialLinks?: {
discordUrl?: string;
youtubeUrl?: string;
websiteUrl?: string;
};
owner: DriverViewData | null;
scoringConfig: any | null;
drivers: DriverViewData[];
memberships: LeagueMembershipWithRole[];
allRaces: any[];
averageSOF: number | null;
completedRacesCount: number;
sponsors: SponsorInfo[];
}