"use client"; import Image from "next/image"; import { useRouter } from "next/navigation"; import { useState, type FormEvent } from "react"; export default function AdminLoginForm({ nextPath = "/admin", adminConfigured = true }: { nextPath?: string; adminConfigured?: boolean }) { const router = useRouter(); const [error, setError] = useState(""); const [pending, setPending] = useState(false); async function submit(event: FormEvent) { event.preventDefault(); setError(""); setPending(true); try { const response = await fetch("/api/admin/login", { method: "POST", body: new FormData(event.currentTarget), }); const result = await response.json() as { message?: string }; if (!response.ok) throw new Error(result.message ?? "Anmeldung fehlgeschlagen."); router.push(nextPath); router.refresh(); } catch (err) { setError(err instanceof Error ? err.message : "Anmeldung fehlgeschlagen."); } finally { setPending(false); } } return (
Funktechnik Schubert

Administration Login

{!adminConfigured && (

Admin-Zugang ist nicht konfiguriert. Bitte ADMIN_EMAIL, ADMIN_PASSWORD und ADMIN_SESSION_SECRET in der Umgebung setzen.

)} {error &&

{error}

}
); }