"use client"; import { signUp } from "@/server/users"; import { z } from "zod"; import { zodResolver } from "@hookform/resolvers/zod"; import { useForm } from "react-hook-form"; import toast from "react-hot-toast"; import { useState } from "react"; import { useRouter } from "next/navigation"; const signUpFormSchema = z.object({ email: z.email(), password: z.string().min(8), name: z.string().min(1), }); type SignUpForm = z.infer; export default function Login() { const router = useRouter(); const [loading, setLoading] = useState(false); const { register, handleSubmit, // watch, formState: { errors }, } = useForm({ resolver: zodResolver(signUpFormSchema), defaultValues: { email: "", password: "", name: "", }, }); const onSubmit = async (values: SignUpForm) => { setLoading(true); const resp = await signUp(values); if (!resp.success) { toast.error(resp.message); setLoading(false); } else { toast.success(resp.message); router.push("/dashboard"); } }; return (

{errors.name ? errors.name.message : ""}

{errors.email ? errors.email.message : ""}

{errors.password ? errors.password.message : ""}

{/* TODO remove cursor-pointer when "Processing..." */}
); }