Files
gridpilot.gg/apps/website/lib/view-models/RecordEngagementOutputViewModel.ts
Marc Mintel 1b0a1f4aee
Some checks failed
Contract Testing / contract-tests (pull_request) Failing after 7m11s
Contract Testing / contract-snapshot (pull_request) Has been skipped
view data fixes
2026-01-24 23:29:55 +01:00

28 lines
747 B
TypeScript

import { ViewModel } from "../contracts/view-models/ViewModel";
export class RecordEngagementOutputViewModel extends ViewModel {
eventId: string;
engagementWeight: number;
constructor(data: { eventId: string; engagementWeight: number }) {
super();
this.eventId = data.eventId;
this.engagementWeight = data.engagementWeight;
}
/** UI-specific: Formatted event ID for display */
get displayEventId(): string {
return `Event: ${this.eventId}`;
}
/** UI-specific: Formatted engagement weight */
get displayEngagementWeight(): string {
return `${this.engagementWeight.toFixed(2)}`;
}
/** UI-specific: Is high engagement */
get isHighEngagement(): boolean {
return this.engagementWeight > 1.0;
}
}