view data fixes
Some checks failed
Contract Testing / contract-tests (pull_request) Failing after 5m54s
Contract Testing / contract-snapshot (pull_request) Has been skipped

This commit is contained in:
2026-01-23 13:04:05 +01:00
parent d97f50ed72
commit e22033be38
24 changed files with 605 additions and 455 deletions

View File

@@ -4,15 +4,34 @@
* 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 {
readonly email: string;
readonly message: string;
readonly status: 'success' | 'error' | 'info';
constructor(private readonly viewData: EmailSignupViewData) {
super();
}
constructor(email: string, message: string, status: 'success' | 'error' | 'info') {
this.email = email;
this.message = message;
this.status = status;
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';
}
}