SHL-01/UX-01: Table/Form-Styles, fehlende ModuleNavShell-Einbindung, Hydration-Fix #363

Closed
patrick wants to merge 0 commits from feature/shl-01-table-form-styles-hydration-fix into main
pull from: feature/shl-01-table-form-styles-hydration-fix
Owner

Zusammenfassung

  • P0-Fund (Fable5-Review): shl-table/shl-field* hatten keine CSS-Regeln -> baseComponentStyles in tokens.ts ergaenzt
  • dms-browser und portal hatten ModuleNavShell trotz Registry-Eintrag nicht eingebunden -> nachgezogen
  • Hartcodierte Hex-Farben (status-page/tenant-admin/lic-admin/audit-log) durch Tokens ersetzt, neues dangerSubtle-Token
  • Hydration-Mismatch in ModuleNavShell.resolveHref (SSR vs. Client-Hostname) behoben: Hostname-Tausch jetzt erst per useEffect nach Mount
  • Verschachteltes in portal/app/page.tsx entfernt

Test plan

  • kennzahlen-dashboard, dms-browser, portal, status-page, tenant-admin, lic-admin, audit-log einzeln auf Host 204 gebaut (next build), fehlerfrei
  • Review/Merge durch Repo-Verantwortlichen

🤖 Generated with Claude Code

## Zusammenfassung - P0-Fund (Fable5-Review): shl-table/shl-field* hatten keine CSS-Regeln -> baseComponentStyles in tokens.ts ergaenzt - dms-browser und portal hatten ModuleNavShell trotz Registry-Eintrag nicht eingebunden -> nachgezogen - Hartcodierte Hex-Farben (status-page/tenant-admin/lic-admin/audit-log) durch Tokens ersetzt, neues dangerSubtle-Token - Hydration-Mismatch in ModuleNavShell.resolveHref (SSR vs. Client-Hostname) behoben: Hostname-Tausch jetzt erst per useEffect nach Mount - Verschachteltes <main> in portal/app/page.tsx entfernt ## Test plan - [x] kennzahlen-dashboard, dms-browser, portal, status-page, tenant-admin, lic-admin, audit-log einzeln auf Host 204 gebaut (next build), fehlerfrei - [ ] Review/Merge durch Repo-Verantwortlichen 🤖 Generated with [Claude Code](https://claude.com/claude-code)
patrick added 1 commit 2026-10-19 02:51:52 +02:00
SHL-01/UX-01: Table/Form-Styles, fehlende ModuleNavShell-Einbindung, Hydration-Fix
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (pull_request) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (pull_request) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (pull_request) Canceled after 0s
RBAC-Rollenhierarchie-Pflichtgate / rbac-policy-invariant (pull_request) Canceled after 0s
CI / Connect Security-Test-Gate (QA-01 AC4, Merge-Gate) (pull_request) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (pull_request) Canceled after 0s
CI / Web (dms-browser) (pull_request) Canceled after 0s
CI / Web (pdf-viewer) (pull_request) Canceled after 0s
CI / Web (shl) (pull_request) Canceled after 0s
Core-Schnittstellen-Vertragstests / contract-tests (pull_request) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (pull_request) Canceled after 0s
Supply-Chain-Scan (npm) / npm-audit (pull_request) Canceled after 0s
Core-Pflichttest-Gate / pflichttest-gate (pull_request) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (pull_request) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / Connect Security-Test-Gate (QA-01 AC4, Merge-Gate) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
4a36f07fee
P0-Fund aus Fable5-Review: shl-table/shl-field* hatten keine CSS-Regeln
(baseComponentStyles in tokens.ts ergaenzt, ueber Shell.tsx eingebunden).
dms-browser und portal hatten ModuleNavShell trotz Registry-Eintrag nicht
eingebunden, jetzt nachgezogen. Hartcodierte Hex-Farben in status-page/
tenant-admin/lic-admin/audit-log durch Tokens ersetzt (dangerSubtle neu).

ModuleNavShell.resolveHref las window.location.hostname beim ersten
Render -> SSR/Client-Mismatch (Hydration-Fehler in React 19). Fix: Href
bleibt beim ersten Render unveraendert, Hostname-Tausch erst in
useEffect nach dem Mount. Verschachteltes <main> in portal/app/page.tsx
entfernt (Shell.tsx rendert bereits eins).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
patrick added 1 commit 2026-10-19 03:18:12 +02:00
SHL-01 P1: Modul-Registry-Duplikation aufgeloest
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (pull_request) Canceled after 0s
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (pull_request) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
CI / Connect Security-Test-Gate (QA-01 AC4, Merge-Gate) (pull_request) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / Connect Security-Test-Gate (QA-01 AC4, Merge-Gate) (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (pull_request) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
Core-Schnittstellen-Vertragstests / contract-tests (pull_request) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (pull_request) Canceled after 0s
Supply-Chain-Scan (npm) / npm-audit (pull_request) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (pull_request) Canceled after 0s
CI / Web (dms-browser) (pull_request) Canceled after 0s
CI / Web (pdf-viewer) (pull_request) Canceled after 0s
CI / Web (shl) (pull_request) Canceled after 0s
Core-Pflichttest-Gate / pflichttest-gate (pull_request) Canceled after 0s
RBAC-Rollenhierarchie-Pflichtgate / rbac-policy-invariant (pull_request) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (pull_request) Canceled after 0s
0370e0e88f
web/portal/config/modules.json war inhaltlich identisch zu MODULE_REGISTRY
in web/shl/components/ModuleNavShell.tsx, separat gepflegt. MODULE_REGISTRY
ist jetzt die einzige Quelle (description/permission als optionale Felder
ergaenzt), web/portal/lib/modules.ts importiert von @nexarch/shl statt der
JSON-Kopie. modules.json geloescht.

Nebenbefund beim Build-Test: @nexarch/shl wurde fuer web/portal per Symlink
statt Kopie installiert, Turbopack konnte den Import dadurch nicht aufloesen
("Module not found"). Fix: npm install --install-links erzwingt eine echte
Kopie wie bei den anderen Modulen.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Author
Owner

Bereits direkt per merge_all_prs.sh in main gemergt und gepusht. Schliesse PR, da Gitea den direkten Push nicht automatisch als Merge erkennt.

Bereits direkt per merge_all_prs.sh in main gemergt und gepusht. Schliesse PR, da Gitea den direkten Push nicht automatisch als Merge erkennt.
patrick closed this pull request 2026-10-19 12:30:22 +02:00

Pull request closed

This pull request cannot be reopened because the branch was deleted.
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: scripte/nexarch#363