"use client" import { useForm } from "react-hook-form" import { zodResolver } from "@hookform/resolvers/zod" import { Form, FormField, FormItem, FormLabel, FormControl, FormMessage } from "@/components/ui/form" import { Input } from "@/components/ui/input" import { Button } from "@/components/ui/button" import { Separator } from "@/components/ui/separator" import { DateTimePicker } from "@/components/ui/date-time-picker" import { BuildAdd, buildAddSchema } from "./schema" import { useAddBuildMutation } from "./queries" import { Checkbox } from "@/components/ui/checkbox" import { PageBuildSelectionBuildTypes } from "../selections/build-types/page" import { useState, useEffect } from "react" const BuildsForm = ({ refetchTable }: { refetchTable: () => void }) => { const form = useForm({ resolver: zodResolver(buildAddSchema), defaultValues: { buildType: "", info: { govAddressCode: "", buildName: "", buildNo: "", maxFloor: 0, undergroundFloor: 0, buildDate: "", decisionPeriodDate: "", taxNo: "", liftCount: 0, heatingSystem: false, coolingSystem: false, hotWaterSystem: false, blockServiceManCount: 0, securityServiceManCount: 0, garageCount: 0, managementRoomId: "", } }, }); const [buildTypesID, setBuildTypesID] = useState(''); useEffect(() => { form.setValue("buildType", buildTypesID) }, [buildTypesID]); const { handleSubmit } = form; const mutation = useAddBuildMutation(); function onSubmit(values: BuildAdd) { mutation.mutate({ data: values }); setTimeout(() => refetchTable(), 400) }; return (
{/* ROW 1 */}
( Gov Address Code )} /> ( Build Name )} /> ( Build No )} />
( Max Floor { field.onBlur(); const numValue = parseFloat(e.target.value); if (!isNaN(numValue)) { field.onChange(numValue) } }} /> )} /> ( Underground Floor { field.onBlur(); const numValue = parseFloat(e.target.value); if (!isNaN(numValue)) { field.onChange(numValue) } }} /> )} />
( Tax No )} /> ( Lift Count { field.onBlur(); const numValue = parseFloat(e.target.value); if (!isNaN(numValue)) { field.onChange(numValue); } }} /> )} />
(
Heating System
)} /> (
Cooling System
)} /> (
Hot Water System
)} />
( Build Date )} /> ( Decision Period Date )} />
( Block Service Man Count { field.onBlur(); const numValue = parseFloat(e.target.value); if (!isNaN(numValue)) { field.onChange(numValue); } }} /> )} /> ( Security Service Man Count { field.onBlur(); const numValue = parseFloat(e.target.value); if (!isNaN(numValue)) { field.onChange(numValue); } }} /> )} /> ( Total Garage Count In Numbers { field.onBlur(); const numValue = parseFloat(e.target.value); if (!isNaN(numValue)) { field.onChange(numValue); } }} /> )} /> ( Management Room ID Assign )} />
{buildTypesID && }
); }; export { BuildsForm }