/**
 * Signup View Data Builder
 *
 * Transforms SignupPageDTO into ViewData for the signup template.
 * Deterministic, side-effect free, no business logic.
 */

import { SignupPageDTO } from '@/lib/services/auth/types/SignupPageDTO';
import { SignupViewData } from './types/SignupViewData';

export class SignupViewDataBuilder {
  static build(apiDto: SignupPageDTO): SignupViewData {
    return {
      returnTo: apiDto.returnTo,
      formState: {
        fields: {
          firstName: { value: '', error: undefined, touched: false, validating: false },
          lastName: { value: '', error: undefined, touched: false, validating: false },
          email: { value: '', error: undefined, touched: false, validating: false },
          password: { value: '', error: undefined, touched: false, validating: false },
          confirmPassword: { value: '', error: undefined, touched: false, validating: false },
        },
        isValid: true,
        isSubmitting: false,
        submitError: undefined,
        submitCount: 0,
      },
      isSubmitting: false,
      submitError: undefined,
    };
  }
}