import { z } from 'zod'; export const VALUATION_PROPERTY_TYPES = [ { value: 'APARTMENT', label: 'Căn hộ' }, { value: 'HOUSE', label: 'Nhà riêng' }, { value: 'VILLA', label: 'Biệt thự' }, { value: 'LAND', label: 'Đất nền' }, { value: 'OFFICE', label: 'Văn phòng' }, { value: 'SHOPHOUSE', label: 'Shophouse' }, ] as const; export const CITIES = [ { value: 'Ho Chi Minh', label: 'TP. Hồ Chí Minh' }, { value: 'Ha Noi', label: 'Hà Nội' }, { value: 'Da Nang', label: 'Đà Nẵng' }, ] as const; export const FLOOD_RISK_OPTIONS = [ { value: 'NONE', label: 'Không có' }, { value: 'LOW', label: 'Thấp' }, { value: 'MEDIUM', label: 'Trung bình' }, { value: 'HIGH', label: 'Cao' }, ] as const; export const valuationFormSchema = z.object({ propertyType: z.string().min(1, 'Vui lòng chọn loại bất động sản'), area: z.string().min(1, 'Vui lòng nhập diện tích').refine( (val) => !isNaN(Number(val)) && Number(val) > 0, 'Diện tích phải lớn hơn 0', ), district: z.string().min(1, 'Vui lòng nhập quận/huyện'), city: z.string().min(1, 'Vui lòng chọn tỉnh/thành phố'), 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(), /** New fields for enhanced form */ projectId: z.string().optional(), description: z.string().optional(), deepAnalysis: z.boolean().optional(), /** AVM v2 fields */ useV2: z.boolean().optional(), distanceToHospitalKm: z.string().optional(), distanceToParkKm: z.string().optional(), distanceToMallKm: z.string().optional(), floodZoneRisk: z.enum(['NONE', 'LOW', 'MEDIUM', 'HIGH']).optional(), hasElevator: z.boolean().optional(), hasParking: z.boolean().optional(), hasPool: z.boolean().optional(), }); export type ValuationFormData = z.infer;