import { z } from "zod" import { passwordValidator } from "@/utils/zod/passwordValidator" import { phoneValidator } from "@/utils/zod/phoneValidator" const countryRequiredMsg = "Country is required" export const signUpSchema = z.object({ firstName: z.string().max(250).trim().min(1, { message: "First name is required", }), lastName: z.string().max(250).trim().min(1, { message: "Last name is required", }), email: z.string().max(250).email(), phoneNumber: phoneValidator( "Phone is required", "Please enter a valid phone number" ), dateOfBirth: z.string().min(1, { message: "Date of birth is required", }), address: z.object({ countryCode: z .string({ required_error: countryRequiredMsg, invalid_type_error: countryRequiredMsg, }) .min(1, countryRequiredMsg), zipCode: z.string().min(1), }), password: passwordValidator("Password is required"), termsAccepted: z.boolean().refine((value) => value === true, { message: "You must accept the terms and conditions", }), }) export type SignUpSchema = z.infer