code quality
Some checks failed
CI / lint-typecheck (pull_request) Failing after 12s
CI / tests (pull_request) Has been skipped
CI / contract-tests (pull_request) Has been skipped
CI / e2e-tests (pull_request) Has been skipped
CI / comment-pr (pull_request) Has been skipped
CI / commit-types (pull_request) Has been skipped

This commit is contained in:
2026-01-26 17:22:01 +01:00
parent cfc30c79a8
commit 9ac74f5046
305 changed files with 1192 additions and 607 deletions

View File

@@ -74,4 +74,17 @@ export class DriverProfileDriverSummaryViewModel extends ViewModel {
get totalDriversLabel(): string {
return this.totalDrivers ? NumberFormatter.format(this.totalDrivers) : '—';
}
// Legacy compatibility
get driver() {
return {
id: this.id,
name: this.name,
countryCode: this.country,
avatarUrl: this.avatarUrl,
iracingId: this.iracingId,
joinedAtLabel: this.joinedAt,
bio: this.bio,
};
}
}

View File

@@ -2,6 +2,8 @@ import { ViewModel } from "../contracts/view-models/ViewModel";
import { ProfileViewData } from "../view-data/ProfileViewData";
import { DriverProfileDriverSummaryViewModel } from "./DriverProfileDriverSummaryViewModel";
export { DriverProfileDriverSummaryViewModel as DriverProfileSocialSummaryViewModel };
export interface DriverProfileStatsViewModel extends ViewModel {
totalRaces: number;
wins: number;

View File

@@ -9,10 +9,15 @@ function normalizeTeamRole(role: string): TeamMemberRole {
return 'member';
}
export interface TeamMemberViewModelInput extends Omit<TeamMemberViewData, 'currentUserId' | 'teamOwnerId'> {
currentUserId: string;
teamOwnerId: string;
}
export class TeamMemberViewModel extends ViewModel {
private readonly data: TeamMemberViewData;
constructor(data: TeamMemberViewData) {
constructor(data: TeamMemberViewModelInput) {
super();
this.data = data;
}