From 8e897553859f3dec01a55aaadf356dded8c2236d Mon Sep 17 00:00:00 2001 From: patrick Date: Mon, 7 Sep 2026 00:09:42 +0200 Subject: [PATCH] =?UTF-8?q?feat(ui):=20F=C3=A4cher-Liste=20nach=20Objektty?= =?UTF-8?q?p=20filterbar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bei 22 nachgetragenen Fächern über mehrere Objekttypen war die flache Liste unübersichtlich. Nutzt das bereits vorhandene Objekttyp-Dropdown (zum Anlegen) auch als Filter für die Liste darunter, statt ein zusätzliches Element einzuführen. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01CVgbozhYmuEhiEJHffRXCV --- frontend/src/pages/admin/FachSection.tsx | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/frontend/src/pages/admin/FachSection.tsx b/frontend/src/pages/admin/FachSection.tsx index c71227e..5d67a3d 100644 --- a/frontend/src/pages/admin/FachSection.tsx +++ b/frontend/src/pages/admin/FachSection.tsx @@ -48,6 +48,8 @@ export function FachSection({ objekttypen, faecher, onGeaendert, onFehler }: Pro return objekttypen.find((o) => o.id === id)?.name ?? `#${id}`; } + const angezeigteFaecher = objekttypId === "" ? faecher : faecher.filter((f) => f.objekttyp_id === objekttypId); + return (

Fächer je Objekttyp

@@ -79,12 +81,13 @@ export function FachSection({ objekttypen, faecher, onGeaendert, onFehler }: Pro )} - {faecher.length > 0 && ( + {angezeigteFaecher.length > 0 && (
    - {faecher.map((f) => ( + {angezeigteFaecher.map((f) => (
  • - {f.name} ({objekttypName(f.objekttyp_id)}) + {f.name} + {objekttypId === "" && ({objekttypName(f.objekttyp_id)})}
)} + {objekttypId !== "" && angezeigteFaecher.length === 0 && ( +

Noch keine Fächer für diesen Objekttyp.

+ )}
);