import { z } from "zod";

/**
 * Schemas de validation côté client ET côté API.
 * Les messages d'erreur sont en français pour qu'ils puissent
 * être affichés directement dans l'UI sans traduction.
 */

export const loginSchema = z.object({
  email: z
    .string({ required_error: "Votre email est requis" })
    .email("Format d'email invalide"),
  password: z
    .string({ required_error: "Mot de passe requis" })
    .min(1, "Mot de passe requis"),
});

export const registerSchema = z.object({
  email: z
    .string({ required_error: "Votre email est requis" })
    .email("Format d'email invalide"),
  password: z
    .string({ required_error: "Mot de passe requis" })
    .min(8, "Au moins 8 caractères, on est sérieux"),
  fullName: z
    .string({ required_error: "Votre prénom et nom" })
    .min(2, "Au moins 2 caractères"),
});

export type LoginInput = z.infer<typeof loginSchema>;
export type RegisterInput = z.infer<typeof registerSchema>;
