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