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