feat: introduce login page

This commit is contained in:
Ali BARIN
2022-03-07 18:51:57 +01:00
parent bb36748764
commit f5f7a998ca
16 changed files with 235 additions and 36 deletions

View File

@@ -3,15 +3,16 @@ import { FormProvider, useForm, FieldValues, SubmitHandler, UseFormReturn } from
import type { UseFormProps } from 'react-hook-form';
type FormProps = {
children: React.ReactNode;
children?: React.ReactNode;
defaultValues?: UseFormProps['defaultValues'];
onSubmit?: SubmitHandler<FieldValues>;
render?: (props: UseFormReturn) => React.ReactNode;
}
const noop = () => null;
export default function Form(props: FormProps): React.ReactElement {
const { children, onSubmit = noop, defaultValues, ...formProps } = props;
const { children, onSubmit = noop, defaultValues, render, ...formProps } = props;
const methods: UseFormReturn = useForm({
defaultValues,
});
@@ -23,7 +24,7 @@ export default function Form(props: FormProps): React.ReactElement {
return (
<FormProvider {...methods}>
<form onSubmit={methods.handleSubmit(onSubmit)} {...formProps}>
{children}
{render ? render(methods) : children}
</form>
</FormProvider>
);