view data fixes
Some checks failed
Contract Testing / contract-tests (pull_request) Failing after 6m4s
Contract Testing / contract-snapshot (pull_request) Has been skipped

This commit is contained in:
2026-01-23 11:59:49 +01:00
parent ae58839eb2
commit d97f50ed72
191 changed files with 2889 additions and 1019 deletions

View File

@@ -2,24 +2,30 @@
* Activity Item View Model
*
* View model for recent activity items.
*
* Accepts ActivityItemViewData as input and produces UI-ready data.
*/
export class ActivityItemViewModel {
id: string;
type: 'race' | 'league' | 'team' | 'driver' | 'platform';
message: string;
time: string;
impressions?: number;
import { ActivityItemViewData } from "../view-data/ActivityItemViewData";
import { ViewModel } from "../contracts/view-models/ViewModel";
constructor(data: any) {
this.id = data.id;
this.type = data.type;
this.message = data.message;
this.time = data.time;
this.impressions = data.impressions;
export class ActivityItemViewModel extends ViewModel {
readonly id: string;
readonly type: string;
readonly message: string;
readonly time: string;
readonly impressions?: number;
constructor(viewData: ActivityItemViewData) {
super();
this.id = viewData.id;
this.type = viewData.type;
this.message = viewData.message;
this.time = viewData.time;
this.impressions = viewData.impressions;
}
get typeColor(): string {
const colors = {
const colors: Record<string, string> = {
race: 'bg-warning-amber',
league: 'bg-primary-blue',
team: 'bg-purple-400',