import type { ViewDataBuilder } from '@/lib/contracts/builders/ViewDataBuilder'; import type { LoginPageDTO } from '@/lib/services/auth/types/LoginPageDTO'; import type { LoginViewData } from '@/lib/view-data/LoginViewData'; export class LoginViewDataBuilder { public static build(apiDto: LoginPageDTO): LoginViewData { return { returnTo: apiDto.returnTo, hasInsufficientPermissions: apiDto.hasInsufficientPermissions, showPassword: false, showErrorDetails: false, formState: { fields: { email: { value: '', error: undefined, touched: false, validating: false }, password: { value: '', error: undefined, touched: false, validating: false }, rememberMe: { value: false, error: undefined, touched: false, validating: false }, }, isValid: true, isSubmitting: false, submitError: undefined, submitCount: 0, }, isSubmitting: false, submitError: undefined, }; } } LoginViewDataBuilder satisfies ViewDataBuilder;