do to formatters
This commit is contained in:
@@ -1,12 +1,12 @@
|
||||
import { mediaConfig } from '@/lib/config/mediaConfig';
|
||||
import { CountryFlagFormatter } from '@/lib/formatters/CountryFlagFormatter';
|
||||
import { DateFormatter } from '@/lib/formatters/DateFormatter';
|
||||
import { FinishFormatter } from '@/lib/formatters/FinishFormatter';
|
||||
import { NumberFormatter } from '@/lib/formatters/NumberFormatter';
|
||||
import { PercentFormatter } from '@/lib/formatters/PercentFormatter';
|
||||
import { RatingFormatter } from '@/lib/formatters/RatingFormatter';
|
||||
import type { GetDriverProfileOutputDTO } from '@/lib/types/generated/GetDriverProfileOutputDTO';
|
||||
import type { ProfileViewData } from '@/lib/view-data/ProfileViewData';
|
||||
import { mediaConfig } from '@/lib/config/mediaConfig';
|
||||
import { CountryFlagDisplay } from '@/lib/display-objects/CountryFlagDisplay';
|
||||
import { DateDisplay } from '@/lib/display-objects/DateDisplay';
|
||||
import { FinishDisplay } from '@/lib/display-objects/FinishDisplay';
|
||||
import { PercentDisplay } from '@/lib/display-objects/PercentDisplay';
|
||||
import { RatingDisplay } from '@/lib/display-objects/RatingDisplay';
|
||||
import { NumberDisplay } from '@/lib/display-objects/NumberDisplay';
|
||||
|
||||
import { ViewDataBuilder } from "../../contracts/builders/ViewDataBuilder";
|
||||
|
||||
@@ -24,7 +24,7 @@ export class ProfileViewDataBuilder implements ViewDataBuilder<any, any> {
|
||||
id: '',
|
||||
name: '',
|
||||
countryCode: '',
|
||||
countryFlag: CountryFlagDisplay.fromCountryCode(null).toString(),
|
||||
countryFlag: CountryFlagFormatter.fromCountryCode(null).toString(),
|
||||
avatarUrl: mediaConfig.avatars.defaultFallback,
|
||||
bio: null,
|
||||
iracingId: null,
|
||||
@@ -45,25 +45,25 @@ export class ProfileViewDataBuilder implements ViewDataBuilder<any, any> {
|
||||
id: driver.id,
|
||||
name: driver.name,
|
||||
countryCode: driver.country,
|
||||
countryFlag: CountryFlagDisplay.fromCountryCode(driver.country).toString(),
|
||||
countryFlag: CountryFlagFormatter.fromCountryCode(driver.country).toString(),
|
||||
avatarUrl: driver.avatarUrl || mediaConfig.avatars.defaultFallback,
|
||||
bio: driver.bio || null,
|
||||
iracingId: driver.iracingId ? String(driver.iracingId) : null,
|
||||
joinedAtLabel: DateDisplay.formatMonthYear(driver.joinedAt),
|
||||
joinedAtLabel: DateFormatter.formatMonthYear(driver.joinedAt),
|
||||
},
|
||||
stats: stats
|
||||
? {
|
||||
ratingLabel: RatingDisplay.format(stats.rating),
|
||||
ratingLabel: RatingFormatter.format(stats.rating),
|
||||
globalRankLabel: driver.globalRank != null ? `#${driver.globalRank}` : '—',
|
||||
totalRacesLabel: NumberDisplay.format(stats.totalRaces),
|
||||
winsLabel: NumberDisplay.format(stats.wins),
|
||||
podiumsLabel: NumberDisplay.format(stats.podiums),
|
||||
dnfsLabel: NumberDisplay.format(stats.dnfs),
|
||||
bestFinishLabel: FinishDisplay.format(stats.bestFinish),
|
||||
worstFinishLabel: FinishDisplay.format(stats.worstFinish),
|
||||
avgFinishLabel: FinishDisplay.formatAverage(stats.avgFinish),
|
||||
consistencyLabel: PercentDisplay.formatWhole(stats.consistency),
|
||||
percentileLabel: PercentDisplay.format(stats.percentile),
|
||||
totalRacesLabel: NumberFormatter.format(stats.totalRaces),
|
||||
winsLabel: NumberFormatter.format(stats.wins),
|
||||
podiumsLabel: NumberFormatter.format(stats.podiums),
|
||||
dnfsLabel: NumberFormatter.format(stats.dnfs),
|
||||
bestFinishLabel: FinishFormatter.format(stats.bestFinish),
|
||||
worstFinishLabel: FinishFormatter.format(stats.worstFinish),
|
||||
avgFinishLabel: FinishFormatter.formatAverage(stats.avgFinish),
|
||||
consistencyLabel: PercentFormatter.formatWhole(stats.consistency),
|
||||
percentileLabel: PercentFormatter.format(stats.percentile),
|
||||
}
|
||||
: null,
|
||||
teamMemberships: apiDto.teamMemberships.map((m) => ({
|
||||
@@ -71,7 +71,7 @@ export class ProfileViewDataBuilder implements ViewDataBuilder<any, any> {
|
||||
teamName: m.teamName,
|
||||
teamTag: m.teamTag || null,
|
||||
roleLabel: m.role,
|
||||
joinedAtLabel: DateDisplay.formatMonthYear(m.joinedAt),
|
||||
joinedAtLabel: DateFormatter.formatMonthYear(m.joinedAt),
|
||||
href: `/teams/${m.teamId}`,
|
||||
})),
|
||||
extendedProfile: extended
|
||||
@@ -92,18 +92,18 @@ export class ProfileViewDataBuilder implements ViewDataBuilder<any, any> {
|
||||
id: a.id,
|
||||
title: a.title,
|
||||
description: a.description,
|
||||
earnedAtLabel: DateDisplay.formatShort(a.earnedAt),
|
||||
earnedAtLabel: DateFormatter.formatShort(a.earnedAt),
|
||||
icon: a.icon as any,
|
||||
rarityLabel: a.rarity,
|
||||
})),
|
||||
friends: socialSummary.friends.slice(0, 8).map((f) => ({
|
||||
id: f.id,
|
||||
name: f.name,
|
||||
countryFlag: CountryFlagDisplay.fromCountryCode(f.country).toString(),
|
||||
countryFlag: CountryFlagFormatter.fromCountryCode(f.country).toString(),
|
||||
avatarUrl: f.avatarUrl || mediaConfig.avatars.defaultFallback,
|
||||
href: `/drivers/${f.id}`,
|
||||
})),
|
||||
friendsCountLabel: NumberDisplay.format(socialSummary.friendsCount),
|
||||
friendsCountLabel: NumberFormatter.format(socialSummary.friendsCount),
|
||||
}
|
||||
: null,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user