import { z } from "zod"; // --- ESQUEMA DE CONTACTO --- export const ContactoSchema = z.object({ nombre: z.string().min(2, "El nombre es demasiado corto"), email: z.string().email("Introduce un correo electrónico válido"), mensaje: z.string().min(10, "Cuéntanos un poco más sobre tu proyecto"), privacidad: z.boolean().refine((val) => val === true, { message: "Debes aceptar la política de privacidad", }), }); export type ContactoFormData = z.infer; // --- ESQUEMA DE PARTICIPACIÓN --- export const ParticipaSchema = z.object({ nombre: z.string().min(2, "El nombre es demasiado corto"), apellidos: z.string().min(2, "Los apellidos son necesarios"), email: z.string().email("Introduce un correo electrónico válido"), telefono: z.string().min(9, "El teléfono no es válido"), provincia: z.string().min(2, "Indica tu provincia"), edad: z.string().refine((val) => !isNaN(Number(val)) && Number(val) > 0, { message: "Introduce una edad válida", }), // SOLUCIÓN: Ahora acepta un string genérico (el ID de Supabase) o vacío (opcional) interes: z.string().optional(), mensaje: z.string().optional(), // Usar boolean().refine() es más seguro con checkboxes en React Hook Form privacidad: z.boolean().refine((val) => val === true, { message: "Debes aceptar la política de privacidad", }), }); export type ParticipaFormData = z.infer;