view data fixes

This commit is contained in:
2026-01-23 15:30:23 +01:00
parent e22033be38
commit f8099f04bc
213 changed files with 3466 additions and 3003 deletions

View File

@@ -9,21 +9,19 @@ import { ActivityItemViewData } from "../view-data/ActivityItemViewData";
import { ViewModel } from "../contracts/view-models/ViewModel";
export class ActivityItemViewModel extends ViewModel {
readonly id: string;
readonly type: string;
readonly message: string;
readonly time: string;
readonly impressions?: number;
private readonly data: ActivityItemViewData;
constructor(viewData: ActivityItemViewData) {
constructor(data: ActivityItemViewData) {
super();
this.id = viewData.id;
this.type = viewData.type;
this.message = viewData.message;
this.time = viewData.time;
this.impressions = viewData.impressions;
this.data = data;
}
get id(): string { return this.data.id; }
get type(): string { return this.data.type; }
get message(): string { return this.data.message; }
get time(): string { return this.data.time; }
get impressions(): number | undefined { return this.data.impressions; }
get typeColor(): string {
const colors: Record<string, string> = {
race: 'bg-warning-amber',
@@ -36,6 +34,7 @@ export class ActivityItemViewModel extends ViewModel {
}
get formattedImpressions(): string | null {
// Client-only formatting
return this.impressions ? this.impressions.toLocaleString() : null;
}
}