mirror of
https://github.com/khairul169/vaulterm.git
synced 2026-09-15 17:03:30 +07:00
feat: add hosts management
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
import { z } from "zod";
|
||||
import { FieldValues, useForm } from "react-hook-form";
|
||||
import { zodResolver } from "@hookform/resolvers/zod";
|
||||
import { useEffect } from "react";
|
||||
|
||||
export const useZForm = <T extends FieldValues>(
|
||||
schema: z.ZodSchema<T>,
|
||||
value?: Partial<T> | null
|
||||
) => {
|
||||
const form = useForm<T>({
|
||||
resolver: zodResolver(schema),
|
||||
defaultValues: value as never,
|
||||
});
|
||||
|
||||
useEffect(() => {
|
||||
if (value) {
|
||||
form.reset(value as never);
|
||||
}
|
||||
}, [value]);
|
||||
|
||||
return form;
|
||||
};
|
||||
|
||||
export type UseZFormReturn<T extends FieldValues> = ReturnType<
|
||||
typeof useZForm<T>
|
||||
>;
|
||||
Reference in New Issue
Block a user