"use client"; import { useState } from "react"; import { Button, ButtonVariants } from "./Button"; import { TextInput } from "./Input"; import { useForm } from "react-hook-form"; import { useRouter } from "next/navigation"; import { Spinner } from "./Spinner"; type Inputs = { password: string; }; export default function PasswordForm() { const { register, handleSubmit, formState } = useForm({ mode: "onBlur", }); const [error, setError] = useState(""); const [loading, setLoading] = useState(false); const router = useRouter(); async function submitPassword(values: Inputs) { setLoading(true); const res = await fetch("/session", { method: "PUT", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ password: values.password, }), }); if (!res.ok) { setLoading(false); throw new Error("Failed to register user"); } setLoading(false); return res.json(); } function submitPasswordAndContinue(value: Inputs): Promise { console.log(value); return submitPassword(value).then((resp: any) => { return router.push(`/success`); }); } const { errors } = formState; return (
{/* */}
); }