"use client"; import { signIn } from "next-auth/react"; import Link from "next/link"; import { useRouter } from "next/navigation"; import { useState } from "react"; export default function LoginPage() { const router = useRouter(); const [error, setError] = useState(null); const onSubmit = async (event: React.FormEvent) => { event.preventDefault(); setError(null); const formData = new FormData(event.currentTarget); const email = formData.get("email") as string; const password = formData.get("password") as string; const result = await signIn("credentials", { email, password, redirect: false }); if (result?.error) { if (result.error === "PENDING") { setError("Dein Konto wartet auf Freischaltung durch einen Admin."); return; } if (result.error === "EMAIL_NOT_VERIFIED") { setError("Bitte bestätige zuerst deine E-Mail."); return; } if (result.error === "LOCKED") { setError("Zu viele Versuche. Bitte später erneut versuchen."); return; } if (result.error === "RATE_LIMIT") { setError("Zu viele Anfragen. Bitte später erneut versuchen."); return; } setError("Login fehlgeschlagen."); return; } if (result?.ok) { router.push("/"); } }; return (

Login

Bitte anmelden.

{error &&

{error}

}

Kein Konto? Registrieren

Passwort vergessen?{" "} Zurücksetzen

E-Mail nicht bestätigt?{" "} Link erneut senden

); }