import { z } from "zod";
import type { Messages } from "@/shared/i18n/config";

export const forgotPasswordSchema = (t: Messages) =>
  z.object({
    email: z.string().min(1, t.validation.emailRequired).email(t.validation.emailInvalid),
  });

export const resetPasswordSchema = (t: Messages) =>
  z
    .object({
      password: z.string().min(8, t.validation.passwordMinLength),
      password_confirmation: z.string().min(1, t.validation.passwordRequired),
    })
    .refine((data) => data.password === data.password_confirmation, {
      message: t.validation.passwordsDoNotMatch,
      path: ["password_confirmation"],
    });

export type ForgotPasswordFormValues = z.infer<ReturnType<typeof forgotPasswordSchema>>;
export type ResetPasswordFormValues = z.infer<ReturnType<typeof resetPasswordSchema>>;
