import { z } from 'zod';

export const VALUATION_PROPERTY_TYPES = [
  { value: 'APARTMENT', label: 'Can ho' },
  { value: 'HOUSE', label: 'Nha rieng' },
  { value: 'VILLA', label: 'Biet thu' },
  { value: 'LAND', label: 'Dat nen' },
  { value: 'OFFICE', label: 'Van phong' },
  { value: 'SHOPHOUSE', label: 'Shophouse' },
] as const;

export const CITIES = [
  { value: 'Ho Chi Minh', label: 'TP. Ho Chi Minh' },
  { value: 'Ha Noi', label: 'Ha Noi' },
  { value: 'Da Nang', label: 'Da Nang' },
] as const;

export const valuationFormSchema = z.object({
  propertyType: z.string().min(1, 'Vui long chon loai bat dong san'),
  area: z.string().min(1, 'Vui long nhap dien tich').refine(
    (val) => !isNaN(Number(val)) && Number(val) > 0,
    'Dien tich phai lon hon 0',
  ),
  district: z.string().min(1, 'Vui long nhap quan/huyen'),
  city: z.string().min(1, 'Vui long chon tinh/thanh pho'),
  bedrooms: z.string().optional(),
  bathrooms: z.string().optional(),
  floors: z.string().optional(),
  frontage: z.string().optional(),
  roadWidth: z.string().optional(),
  yearBuilt: z.string().optional(),
  hasLegalPaper: z.boolean().optional(),
});

export type ValuationFormData = z.infer<typeof valuationFormSchema>;
