refactor login form

This commit is contained in:
2024-07-13 19:15:21 +02:00
parent 7c562e8057
commit fd076517dc
10 changed files with 241 additions and 185 deletions

View File

@@ -0,0 +1,34 @@
import { Select } from "@/components/ui";
import type { ComponentPropsWithoutRef } from "react";
import {
type Control,
type FieldValues,
type UseControllerProps,
useController,
} from "react-hook-form";
type Props<T extends FieldValues> = Omit<
UseControllerProps<T>,
"control" | "defaultValue" | "rules"
> &
Omit<ComponentPropsWithoutRef<typeof Select>, "value" | "onValueChange"> & {
control: Control<T>;
};
export const FormSelect = <T extends FieldValues>({
control,
name,
disabled,
shouldUnregister,
...rest
}: Props<T>) => {
const {
field: { onChange, ...field },
} = useController({
control,
name,
disabled,
shouldUnregister,
});
return <Select {...field} {...rest} onValueChange={onChange} />;
};