27 lines
708 B
TypeScript
27 lines
708 B
TypeScript
export type SkillLevel = 'beginner' | 'intermediate' | 'advanced' | 'pro';
|
|
|
|
export interface TeamLeaderboardItemViewModel {
|
|
id: string;
|
|
name: string;
|
|
memberCount: number;
|
|
rating: number | null;
|
|
totalWins: number;
|
|
totalRaces: number;
|
|
performanceLevel: SkillLevel;
|
|
isRecruiting: boolean;
|
|
createdAt: Date;
|
|
description?: string;
|
|
specialization?: 'endurance' | 'sprint' | 'mixed';
|
|
region?: string;
|
|
languages?: string[];
|
|
}
|
|
|
|
export interface TeamsLeaderboardViewModel {
|
|
teams: TeamLeaderboardItemViewModel[];
|
|
recruitingCount: number;
|
|
}
|
|
|
|
export interface ITeamsLeaderboardPresenter {
|
|
present(teams: any[], recruitingCount: number): void;
|
|
getViewModel(): TeamsLeaderboardViewModel;
|
|
} |