"use client"; import { useState } from "react"; import { zodResolver } from "@hookform/resolvers/zod"; import { signIn } from "next-auth/react"; import { useLocale, useTranslations } from "next-intl"; import { FormProvider, useForm } from "react-hook-form"; import { z } from "zod"; import { clearMessage } from "@/components/InfoMessage"; import InfoMessage from "@/components/InfoMessage"; import { TextField } from "@/components/form/TextField"; const signInSchema = z.object({ email: z.string().email(), }); type SignInFormValues = z.infer; export default function SignIn() { const t = useTranslations("SignIn"); const locale = useLocale(); const [responseMessage, setResponseMessage] = useState({ isSuccessful: false, message: "", }); const form = useForm({ resolver: zodResolver(signInSchema), }); const onSubmit = async ({ email }: SignInFormValues) => { try { const result = await signIn("nodemailer", { email, redirect: false, callbackUrl: `/${locale}/tournaments`, }); if (result?.error) { throw new Error(result.error); } else if (result?.ok) { setResponseMessage({ isSuccessful: true, message: t("checkEmail"), }); form.reset(); } } catch (err: unknown) { console.log(err); setResponseMessage({ isSuccessful: true, message: t("failure"), }); clearMessage(setResponseMessage); } }; return (

{t("title")}

{t("info")}

); }