website cleanup

This commit is contained in:
2025-12-24 21:44:58 +01:00
parent 9b683a59d3
commit d78854a4c6
277 changed files with 6141 additions and 2693 deletions

View File

@@ -1,7 +1,5 @@
import { LeagueMembershipService } from '@/lib/services/leagues/LeagueMembershipService';
import { LeagueRoleUtility } from '@/lib/utilities/LeagueRoleUtility';
import type { MembershipRole } from '@core/racing/domain/entities/MembershipRole';
type LeagueRole = MembershipRole;
export class LeagueMembershipUtility {
/**
@@ -25,4 +23,4 @@ export class LeagueMembershipUtility {
if (!membership) return false;
return LeagueRoleUtility.isLeagueAdminOrHigherRole(membership.role);
}
}
}

View File

@@ -1,10 +1,37 @@
import type { ScoringPresetTimings } from '@core/racing/domain/services/ScoringPresetTimingService';
import { applyScoringPresetToTimings } from '@core/racing/domain/services/ScoringPresetTimingService';
export type Timings = ScoringPresetTimings;
export type Timings = {
practiceMinutes?: number;
qualifyingMinutes?: number;
sprintRaceMinutes?: number;
mainRaceMinutes?: number;
sessionCount?: number;
[key: string]: unknown;
};
export class ScoringPresetApplier {
static applyToTimings(patternId: string, currentTimings: Timings): Timings {
return applyScoringPresetToTimings(patternId, currentTimings);
// Website-local fallback mapping (UI convenience only).
// Authoritative preset/timing rules should live in the API.
switch (patternId) {
case 'sprint-main-driver':
return {
...currentTimings,
practiceMinutes: currentTimings.practiceMinutes ?? 20,
qualifyingMinutes: currentTimings.qualifyingMinutes ?? 30,
sprintRaceMinutes: currentTimings.sprintRaceMinutes ?? 20,
mainRaceMinutes: currentTimings.mainRaceMinutes ?? 40,
sessionCount: 2,
};
case 'endurance-main-driver':
return {
...currentTimings,
practiceMinutes: currentTimings.practiceMinutes ?? 30,
qualifyingMinutes: currentTimings.qualifyingMinutes ?? 20,
sprintRaceMinutes: 0,
mainRaceMinutes: currentTimings.mainRaceMinutes ?? 120,
sessionCount: 1,
};
default:
return currentTimings;
}
}
}
}