Files
AnimeTV-Frontend/features/auth/ui/components/provision/main.tsx
2025-10-16 00:28:20 +07:00

48 lines
1.2 KiB
TypeScript

"use client";
import React, { JSX, useState } from "react";
import Step1ProvisionRegister from "./step1";
import { Form } from "@heroui/react";
import { FormProvider, SubmitHandler, useForm } from "react-hook-form";
import { zodResolver } from "@hookform/resolvers/zod";
import { registerFormSchema } from "@/features/auth/models/registerForm.schema";
import Step2ProvisionRegister from "./step2";
export type RegisterInputs = {
fullname: string;
email: string;
password: string;
confirmPassword: string;
};
const ProvisionRegister = () => {
const formMethods = useForm<RegisterInputs>({
resolver: zodResolver(registerFormSchema),
});
const { handleSubmit } = formMethods;
const sendProvisionData: SubmitHandler<RegisterInputs> = (data) => {};
const NextToStep2 = () => {
setCurrentComponent(<Step2ProvisionRegister />);
};
const [currentComponent, setCurrentComponent] = useState<JSX.Element>(
<Step1ProvisionRegister NextStep={NextToStep2} />
);
return (
<FormProvider {...formMethods}>
<Form
className="flex flex-col gap-1.5 "
onSubmit={handleSubmit(sendProvisionData)}
>
{currentComponent}
</Form>
</FormProvider>
);
};
export default ProvisionRegister;