"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 { buildAddressAddSchema, BuildAddressAdd } from "./schema" import { useAddBuildAddressMutation } from "./queries" const BuildAddressForm = ({ refetchTable }: { refetchTable: () => void }) => { const form = useForm({ resolver: zodResolver(buildAddressAddSchema), defaultValues: { buildNumber: "", doorNumber: "", floorNumber: "", commentAddress: "", letterAddress: "", shortLetterAddress: "", latitude: 0, longitude: 0, street: "", expiryStarts: "", expiryEnds: "", }, }); const { handleSubmit } = form; const mutation = useAddBuildAddressMutation(); function onSubmit(values: BuildAddressAdd) { mutation.mutate({ data: values }); setTimeout(() => refetchTable(), 400) }; return (
{/* ROW 1 */}
( Build Number )} /> ( Door Number )} />
{/* ROW 2 */}
( Floor Number )} /> ( Street ID )} />
{/* ROW 3 */}
( Comment Address )} /> ( Letter Address )} />
{/* ROW 4 */}
( Short Letter Address )} /> ( Latitude field.onChange(e.target.value ? Number(e.target.value) : undefined) } /> )} />
{/* ROW 5 */}
( Longitude field.onChange(e.target.value ? Number(e.target.value) : undefined) } /> )} />
{/* EXPIRY DATES */}
( Expiry Starts )} /> ( Expiry Ends )} />
); }; export { BuildAddressForm }