website refactor

This commit is contained in:
2026-01-16 01:00:03 +01:00
parent ce7be39155
commit a98e3e3166
286 changed files with 5522 additions and 5261 deletions

View File

@@ -7,7 +7,7 @@ import { RaceResultsViewData, RaceResultsResult, RaceResultsPenalty } from '@/li
* Deterministic, side-effect free.
*/
export class RaceResultsViewDataBuilder {
static build(apiDto: any): RaceResultsViewData {
static build(apiDto: unknown): RaceResultsViewData {
if (!apiDto) {
return {
raceSOF: null,
@@ -18,8 +18,11 @@ export class RaceResultsViewDataBuilder {
};
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const dto = apiDto as any;
// Transform results
const results: RaceResultsResult[] = (apiDto.results || []).map((result: any) => ({
const results: RaceResultsResult[] = (dto.results || []).map((result: any) => ({
position: result.position,
driverId: result.driverId,
driverName: result.driverName,
@@ -35,7 +38,7 @@ export class RaceResultsViewDataBuilder {
}));
// Transform penalties
const penalties: RaceResultsPenalty[] = (apiDto.penalties || []).map((penalty: any) => ({
const penalties: RaceResultsPenalty[] = (dto.penalties || []).map((penalty: any) => ({
driverId: penalty.driverId,
driverName: penalty.driverName || 'Unknown',
type: penalty.type as 'time_penalty' | 'grid_penalty' | 'points_deduction' | 'disqualification' | 'warning' | 'license_points',
@@ -45,15 +48,15 @@ export class RaceResultsViewDataBuilder {
}));
return {
raceTrack: apiDto.race?.track,
raceScheduledAt: apiDto.race?.scheduledAt,
totalDrivers: apiDto.stats?.totalDrivers,
leagueName: apiDto.league?.name,
raceSOF: apiDto.strengthOfField || null,
raceTrack: dto.race?.track,
raceScheduledAt: dto.race?.scheduledAt,
totalDrivers: dto.stats?.totalDrivers,
leagueName: dto.league?.name,
raceSOF: dto.strengthOfField || null,
results,
penalties,
pointsSystem: apiDto.pointsSystem || {},
fastestLapTime: apiDto.fastestLapTime || 0,
pointsSystem: dto.pointsSystem || {},
fastestLapTime: dto.fastestLapTime || 0,
};
}
}