"use client"; import React, { useState } from "react"; import { addToast, Button, Form, Input } from "@heroui/react"; import { SubmitHandler, useForm } from "react-hook-form"; import { submitRegisterForm } from "../../lib/submitRegisterForm"; import { zodResolver } from "@hookform/resolvers/zod"; import { registerFormSchema } from "../../models/registerForm.schema"; type Props = { fullname: string; }; export type RegisterInputs = { fullname: string; email: string; password: string; confirmPassword: string; }; const ProvisionInput = ({ fullname }: Props) => { const { register, handleSubmit, setValue, formState: { errors }, } = useForm({ resolver: zodResolver(registerFormSchema), }); setValue("fullname", fullname); const [submitStatus, setSubmitStatus] = useState(false); const onSubmit: SubmitHandler = async (data) => { setSubmitStatus(true); try { const returnData = await submitRegisterForm(data); if (!returnData.success) { setSubmitStatus(false); addToast({ color: "danger", title: "😬 Oops, something went wrong!", description: returnData.text.message, }); } else { setSubmitStatus(false); addToast({ color: "success", title: "OKKE!", description: returnData.text.message, }); } } catch (error) { setSubmitStatus(false); addToast({ color: "danger", title: "😬 Oops, something went wrong!", description: "Connection to server lost", }); } }; return (
); }; export default ProvisionInput;