"use client"; import { useActionState } from "react"; import { Rolle } from "@/generated/prisma/enums"; import { Button } from "@/components/ui/button"; import { ROLLEN_TEXT } from "@/lib/rollen-text"; import { benutzerAnlegenAktion, type AktionsErgebnis } from "@/server/actions/benutzer"; import { FELD } from "@/lib/formular"; /** * Formular fuer ein lokales Konto. Als Client-Komponente, weil Erfolg und Fehler * ohne Neuladen an Ort und Stelle erscheinen sollen – die Rechtepruefung liegt * trotzdem ausschliesslich serverseitig in der Aktion. */ export function BenutzerAnlegen({ aktiv }: { aktiv: boolean }) { const [ergebnis, aktion, laeuft] = useActionState(benutzerAnlegenAktion, {}); if (!aktiv) { return (

Der lokale Login ist abgeschaltet (AUTH_LOCAL_ENABLED). Neue Konten entstehen beim ersten Anmelden über den Anbieter von selbst.

); } return (
{ergebnis.fehler ? (

{ergebnis.fehler}

) : null} {ergebnis.erfolg ? (

{ergebnis.erfolg}

) : null}
); }