import SubmitButton from "@/components/SubmitButton"; import TextInput from "@/components/TextInput"; import CenteredForm from "@/layouts/CenteredForm"; import { signIn } from "next-auth/react"; import Link from "next/link"; import { useState, FormEvent } from "react"; import { toast } from "react-hot-toast"; interface FormData { username: string; password: string; } const emailEnabled = process.env.NEXT_PUBLIC_EMAIL_PROVIDER; export default function Login() { const [submitLoader, setSubmitLoader] = useState(false); const [form, setForm] = useState({ username: "", password: "", }); async function loginUser(event: FormEvent) { event.preventDefault(); if (form.username !== "" && form.password !== "") { setSubmitLoader(true); const load = toast.loading("Authenticating..."); const res = await signIn("credentials", { username: form.username, password: form.password, redirect: false, }); console.log(res); toast.dismiss(load); setSubmitLoader(false); if (!res?.ok) { toast.error("Invalid login."); } } else { toast.error("Please fill out all the fields."); } } return (

Enter your credentials


Username {emailEnabled ? " or Email" : undefined}

setForm({ ...form, username: e.target.value })} />

Password

setForm({ ...form, password: e.target.value })} /> {emailEnabled && (
Forgot Password?
)}
{process.env.NEXT_PUBLIC_DISABLE_REGISTRATION === "true" ? undefined : (

New here?

Sign Up
)}
); }