import { z } from 'zod';

export type TestimonialFormValues = {
    author_name: string;
    author_position: string;
    company: string;
    content: string;
    rating: number;
    is_active: boolean;
    sort_order: number;
};

export const testimonialSchema = z.object({
    author_name: z
        .string()
        .trim()
        .min(1, 'Nama wajib diisi')
        .max(255, 'Maksimal 255 karakter'),
    author_position: z.string().max(255, 'Maksimal 255 karakter'),
    company: z.string().max(255, 'Maksimal 255 karakter'),
    content: z
        .string()
        .trim()
        .min(1, 'Isi testimoni wajib diisi')
        .max(2000, 'Maksimal 2000 karakter'),
    rating: z.number().int().min(1, 'Rating minimal 1').max(5, 'Rating maksimal 5'),
    is_active: z.boolean(),
    sort_order: z.coerce.number().int().min(0, 'Minimal 0'),
}) as unknown as z.ZodType<TestimonialFormValues, TestimonialFormValues>;
