import { z } from 'zod';

export const contactSchema = z.object({
  name: z
    .string({
      required_error: 'Имя обязательно (required)',
      invalid_type_error: 'Имя должно быть строкой',
    })
    .min(2, 'Имя должно содержать минимум 2 символа')
    .max(100, 'Имя слишком длинное'),

  email: z
    .string({
      required_error: 'Электронная почта обязательна (required)',
      invalid_type_error: 'Электронная почта должна быть строкой',
    })
    .email('Неверный адрес электронной почты')
    .max(100, 'Слишком длинный адрес электронной почты'),

  company: z
    .string({
      required_error: 'Название компании обязательно (required)',
      invalid_type_error: 'Компания должна быть строкой',
    })
    .min(3, 'Название компании слишком короткое')
    .max(100, 'Название компании слишком длинное'),

  phone: z
    .string({
      required_error: 'Номер телефона обязателен (required)',
      invalid_type_error: 'Телефон должен быть строкой',
    })
    .min(7, 'Номер телефона слишком короткий')
    .max(15, 'Номер телефона слишком длинный'),

  message: z
    .string({
      required_error: 'Сообщение обязательно (required)',
      invalid_type_error: 'Сообщение должно быть строкой',
    })
    .min(10, 'Сообщение должно содержать минимум 10 символов')
    .max(1000, 'Сообщение слишком длинное'),
});

export type ContactFormValues = z.infer<typeof contactSchema>;
