diff --git a/frontend/src/pages.jsx b/frontend/src/pages.jsx index 13ee5b1..16e36d6 100644 --- a/frontend/src/pages.jsx +++ b/frontend/src/pages.jsx @@ -271,7 +271,18 @@ export function PersonenPage() { const [form, setForm] = useState(leegLeerling); const [editId, setEditId] = useState(null); const [filter, setFilter] = useState(""); - const [hoofdtab, setHoofdtab] = useState("personen"); + const [nieuweFunctie, setNieuweFunctie] = useState(""); + + async function maakFunctie() { + const naam = nieuweFunctie.trim(); + if (!naam) return; + try { + const f = await createResource("functies", { naam }); + setFuncties((lijst) => [...lijst, f]); + setForm((prev) => ({ ...prev, functies: [...prev.functies, f.id] })); + setNieuweFunctie(""); + } catch (e) { setError(e.message); } + } function laadHulplijsten() { listResource("groepen").then(setGroepen).catch(() => {}); @@ -355,26 +366,9 @@ export function PersonenPage() { : filter === "medewerker" ? items.filter((p) => p.rol !== "leerling") : items; - if (hoofdtab === "functies") { - return ( -
-

Personen & functies

-
- - -
- -
- ); - } - return (
-

Personen & functies

-
- - -
+

Personen

Personeel en leerlingen staan los van elkaar. Kies wat je wilt toevoegen.

@@ -411,11 +405,20 @@ export function PersonenPage() { {modus === "medewerker" && ( <>
-
Functies:
+
Functies (klik om te kiezen, of typ een nieuwe):
{functies.map((f) => )} {functies.length === 0 && Nog geen functies.}
+
+ setNieuweFunctie(e.target.value)} + onKeyDown={(e) => { if (e.key === "Enter") { e.preventDefault(); maakFunctie(); } }} + /> + +
Vakken die gegeven kunnen worden{form.rol === "leerkracht" ? " (theorievakken worden automatisch gekoppeld)" : ""}: