24 lines
646 B
TypeScript
24 lines
646 B
TypeScript
/**
|
|
* Sponsor Dashboard View Model
|
|
*
|
|
* Represents dashboard data for a sponsor with UI-specific transformations.
|
|
*/
|
|
import { ViewModel } from "../contracts/view-models/ViewModel";
|
|
import type { SponsorDashboardViewData } from "../view-data/SponsorDashboardViewData";
|
|
|
|
export class SponsorDashboardViewModel extends ViewModel {
|
|
sponsorId: string;
|
|
sponsorName: string;
|
|
|
|
constructor(data: SponsorDashboardViewData) {
|
|
super();
|
|
this.sponsorId = data.sponsorId;
|
|
this.sponsorName = data.sponsorName;
|
|
}
|
|
|
|
/** UI-specific: Welcome message */
|
|
get welcomeMessage(): string {
|
|
return `Welcome back, ${this.sponsorName}!`;
|
|
}
|
|
}
|