docs(PROJ-69,PROJ-70): Deployment-Status auf Deployed setzen
Beide Features auf 132 und 131 deployed (2026-07-07). PROJ-69/PROJ-70 ohne vollständigen Browser-/E2E-Test, nur Smoke-Tests — offene QA-Punkte in den Spec-Dateien dokumentiert. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
ba0c519b00
commit
28565f089d
@@ -0,0 +1,74 @@
|
||||
---
|
||||
id: PROJ-69
|
||||
title: Admin-Dashboard Tab-Gruppierung (2-Ebenen-Navigation)
|
||||
status: Deployed
|
||||
created: 2026-07-06
|
||||
---
|
||||
|
||||
## Problem
|
||||
|
||||
`/admin` zeigt 17 flache Tabs in einer Zeile (`src/app/admin/page.tsx:152-175`).
|
||||
Für superadmin fast alle sichtbar, unübersichtlich, schlecht skalierbar.
|
||||
|
||||
## Ziel
|
||||
|
||||
Zweistufige Navigation: Gruppe → Tab, analog zu bestehenden rollenbasierten
|
||||
Sichtbarkeitsregeln (`isSuperAdmin`, `canViewDSGVO`, etc.). Kein neues
|
||||
shadcn-Primitive, nur Layout-Umbau.
|
||||
|
||||
## Gruppen
|
||||
|
||||
1. **Übersicht** — Dashboard, Dienste (superadmin)
|
||||
2. **Benutzer & Zugriff** — Benutzer, LDAP (Global, superadmin), LDAP (Tenant),
|
||||
Mandanten (superadmin)
|
||||
3. **Compliance** — Audit-Log, DSGVO-Anfragen (canViewDSGVO), Retention
|
||||
(superadmin), Archivierungs-Regeln (superadmin)
|
||||
4. **Mail-Eingang** — Import, IMAP-Einstellungen, Routing-Regeln, SMTP-Out
|
||||
(superadmin), Quotas (superadmin)
|
||||
5. **System** — Security (superadmin), Zertifikat (superadmin), Module
|
||||
(superadmin)
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
- [ ] Gruppen-Leiste über der bestehenden `TabsList` (z.B. Button-Segmentleiste
|
||||
oder zweite `Tabs`-Ebene), Klick auf Gruppe zeigt nur ihre Sub-Tabs.
|
||||
- [ ] Eine Gruppe wird nur angezeigt, wenn mindestens ein Tab darin für die
|
||||
aktuelle Rolle sichtbar ist (kein leerer Gruppen-Button).
|
||||
- [ ] Bestehende rollenbasierte Sichtbarkeit pro Tab bleibt unverändert
|
||||
(`isSuperAdmin`, `canViewDSGVO`, `tenantAccessAllowed()`-Muster etc.).
|
||||
- [ ] Für nicht-superadmin-Rollen (admin, domain_admin, domain_auditor):
|
||||
nur Gruppen mit sichtbaren Tabs erscheinen — z.B. domain_auditor sieht
|
||||
vermutlich nur "Compliance" + evtl. "Benutzer & Zugriff".
|
||||
- [ ] Deep-Link/Reload auf einen Tab (z.B. `?tab=users`) bleibt funktionsfähig
|
||||
falls das aktuell schon unterstützt wird (prüfen).
|
||||
- [ ] Keine Funktionalität der einzelnen Tabs verändert, nur Navigation/Layout.
|
||||
- [ ] Responsive: Gruppen-Leiste bricht auf Mobile sinnvoll um (analog
|
||||
`.claude/rules/frontend.md` — 375px/768px/1440px).
|
||||
|
||||
## Non-Goals
|
||||
|
||||
- Keine neuen Tabs/Features, reine Navigations-Restrukturierung.
|
||||
- Keine Backend-/API-Änderungen.
|
||||
|
||||
## Implementation Notes
|
||||
|
||||
`src/app/admin/page.tsx` (Commit 3b2a838): 5 Gruppen (Übersicht, Benutzer &
|
||||
Zugriff, Compliance, Mail-Eingang, System) als Button-Leiste über der
|
||||
bestehenden shadcn `Tabs`. Klick filtert sichtbare `TabsTrigger`,
|
||||
`TabsContent` bleibt unverändert im DOM (Radix matched weiter per `value`
|
||||
unabhängig von der Gruppen-Filterung). Rollenbasierte Sichtbarkeit pro Tab
|
||||
1:1 übernommen, keine Funktionsänderung. `npx tsc --noEmit` lief sauber.
|
||||
|
||||
## QA Test Results
|
||||
|
||||
Kein Browser-/E2E-Test mit den 3 Rollen durchgeführt (Testuser-Frage blieb
|
||||
ungeklärt, siehe Memory `project_proj69_admin_tabs_status`). Deploy auf
|
||||
User-Anweisung trotzdem durchgeführt (2026-07-07): Frontend-Build auf 131
|
||||
lief sauber, `/admin` liefert HTTP 200. Funktionale Prüfung der
|
||||
Rollen-Filterung steht noch aus.
|
||||
|
||||
## Deployment
|
||||
|
||||
- 2026-07-07, 192.168.1.132 (Test) und 192.168.1.131 (Produktiv), je
|
||||
`update.sh` (2 Läufe wegen Self-Update-Timing, siehe PROJ-67/68).
|
||||
Frontend-Build erfolgreich, `/admin` erreichbar.
|
||||
Reference in New Issue
Block a user