Files
gridpilot.gg/apps/website/lib/view-models/EmailSignupViewModel.ts
Marc Mintel e22033be38
Some checks failed
Contract Testing / contract-tests (pull_request) Failing after 5m54s
Contract Testing / contract-snapshot (pull_request) Has been skipped
view data fixes
2026-01-23 13:04:05 +01:00

37 lines
772 B
TypeScript

/**
* EmailSignupViewModel
*
* View model for email signup responses
*/
import { ViewModel } from "../contracts/view-models/ViewModel";
import type { EmailSignupViewData } from "../view-data/EmailSignupViewData";
export class EmailSignupViewModel extends ViewModel {
constructor(private readonly viewData: EmailSignupViewData) {
super();
}
get email(): string {
return this.viewData.email;
}
get message(): string {
return this.viewData.message;
}
get status(): EmailSignupViewData["status"] {
return this.viewData.status;
}
get isSuccess(): boolean {
return this.status === 'success';
}
get isError(): boolean {
return this.status === 'error';
}
get isInfo(): boolean {
return this.status === 'info';
}
}