view data fixes
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user