fix: Navigationsstruktur aus der Client-Komponente herausloesen

Das Server-Layout filtert die Navigation danach, welche Module der
angemeldete Benutzer sehen darf. Es importierte NAV_STRUKTUR aber aus
einer Datei mit "use client" - dort kommt auf dem Server kein Wert an,
sondern nur ein Verweis. NAV_STRUKTUR.filter war entsprechend keine
Funktion, und jede Fachseite lief in einen Serverfehler.

Zweiter Fehler in derselben Zeile: die Eintraege trugen die Icons als
React-Komponenten. Die lassen sich nicht ueber die Server/Client-Grenze
reichen.

Beides behoben, indem die Struktur nach src/lib/navigation-struktur.ts
wandert und dort nur noch ein Kuerzel je Icon steht. Die Client-
Komponente uebersetzt das Kuerzel. Die Wiederausfuhr aus navigation.tsx
wurde bewusst weggelassen, sonst stellt sich dieselbe Falle wieder auf.

Dazu scripts/screenshots.mjs: meldet sich mit dem Entwicklungszugang an
und fotografiert Seiten am Schreibtisch und am Handy, hell und dunkel.

Etappe: 1
Phase: Fundament
This commit is contained in:
Florian Wilde
2026-08-22 02:22:36 +02:00
parent 22b3a9b9e9
commit 63352272b8
4 changed files with 234 additions and 30 deletions
+1 -1
View File
@@ -2,7 +2,7 @@ import { redirect } from 'next/navigation'
import { AppHuelle, SchnellerfassungKnopf } from '@/components/app-huelle'
import { BenutzerMenue } from '@/components/benutzer-menue'
import { BetreuteAuswahl } from '@/components/betreute-auswahl'
import { NAV_STRUKTUR, type NavEintrag } from '@/components/navigation'
import { NAV_STRUKTUR, type NavEintrag } from '@/lib/navigation-struktur'
import { aktiveBetreute, erfordereBenutzer, erfordereZweitenFaktor, meineBetreuten } from '@/lib/auth/sitzung'
import { darf } from '@/lib/auth/rollen'
import { ROLLEN_BESCHRIFTUNG } from '@/lib/auth/rollen'