import { z } from 'zod';

export const signupSchema = z.object({
  nombre: z.string().trim().min(1, 'Indica tu nombre.'),
  email: z.string().trim().toLowerCase().email('Email no válido.'),
  empresa: z.string().trim().min(1, 'Indica el nombre de tu empresa.'),
  provincia: z.string().trim().min(1, 'Indica tu provincia.'),
  password: z.string().min(8, 'La contraseña debe tener al menos 8 caracteres.'),
  optInMarketing: z.union([z.literal('on'), z.literal('')]).optional(),
});

export type SignupInput = z.infer<typeof signupSchema>;

export function slugify(value: string): string {
  return value
    .normalize('NFD')
    .replace(/[̀-ͯ]/g, '')
    .toLowerCase()
    .replace(/[^a-z0-9]+/g, '-')
    .replace(/^-+|-+$/g, '');
}
