import { useState } from "react"; import { apiRequest } from "../../api/client"; import type { Bereich, Kategorie, Objekttyp } from "../../api/types"; interface Props { bereiche: Bereich[]; kategorien: Kategorie[]; objekttypen: Objekttyp[]; onGeaendert: () => Promise; onFehler: (text: string) => void; } export function ObjekttypSection({ bereiche, kategorien, objekttypen, onGeaendert, onFehler }: Props) { const [name, setName] = useState(""); const [bereichId, setBereichId] = useState(""); const [kategorieId, setKategorieId] = useState(""); const [wirdAngelegt, setWirdAngelegt] = useState(false); async function anlegen() { if (bereichId === "") { onFehler("Bereich auswählen."); return; } setWirdAngelegt(true); try { await apiRequest("/objekttypen", { method: "POST", body: { name, bereich_id: bereichId, kategorie_id: kategorieId || null }, }); setName(""); await onGeaendert(); } catch { onFehler("Objekttyp konnte nicht angelegt werden."); } finally { setWirdAngelegt(false); } } return (

Objekttyp anlegen

{bereiche.length === 0 ? (

Erst einen Bereich anlegen.

) : (
setName(e.target.value)} placeholder="Name" />
)} {objekttypen.length > 0 && (
    {objekttypen.map((o) => (
  • {o.name}
  • ))}
)}
); }