"use client"; import { Alert, Box, Button, Card, CardContent, Chip, Stack, TextField, Typography } from "@mui/material"; import { signIn } from "next-auth/react"; import { useRouter } from "next/navigation"; import type { FormEvent } from "react"; import { useState } from "react"; const demoAccounts = [ { label: "Vorstand A", username: "vorstand-a" }, { label: "Vorstand B", username: "vorstand-b" }, { label: "Finanz-AG", username: "finanzen" }, { label: "Deko Mitglied", username: "deko" } ]; export function LoginForm() { const router = useRouter(); const [identifier, setIdentifier] = useState("vorstand-a"); const [password, setPassword] = useState("demo123!"); const [error, setError] = useState(null); const [isLoading, setIsLoading] = useState(false); async function handleSubmit(event: FormEvent) { event.preventDefault(); setError(null); setIsLoading(true); const result = await signIn("credentials", { identifier, password, redirect: false }); setIsLoading(false); if (result?.error) { setError("Anmeldung fehlgeschlagen. Bitte Zugangsdaten pr\u00fcfen."); return; } router.push("/"); router.refresh(); } return ( Anmeldung Melde dich mit deinem Login-Namen und Passwort an. {demoAccounts.map((account) => ( { setIdentifier(account.username); setPassword("demo123!"); }} variant="outlined" /> ))} {"Demo-Passwort f\u00fcr alle Konten: demo123!"} {error ? {error} : null} setIdentifier(event.target.value)} fullWidth required /> setPassword(event.target.value)} fullWidth required /> ); }