import { z } from "zod"; import { FieldValues, useForm } from "react-hook-form"; import { zodResolver } from "@hookform/resolvers/zod"; import { useEffect } from "react"; export const useZForm = ( schema: z.ZodSchema, value?: Partial | null ) => { const form = useForm({ resolver: zodResolver(schema), defaultValues: value as never, }); useEffect(() => { if (value) { form.reset(value as never); } }, [value]); return form; }; export type UseZFormReturn = ReturnType< typeof useZForm >;