mitai-jinkendo/docs/issues/GUI_IA_ADMIN_NAV_2026-04-05.md
Lars 24f60c0a6d
All checks were successful
Deploy Development / deploy (push) Successful in 55s
Build Test / lint-backend (push) Successful in 0s
Build Test / build-frontend (push) Successful in 16s
feat: Update documentation for GUI, Admin navigation, and responsive UI integration
2026-04-05 12:25:28 +02:00

4.9 KiB
Raw Blame History

GUI, Informationsarchitektur, Admin & Navigation (Abnahme 2026-04-05)

Zweck: Einheitliche Referenz für Menschen und Code-Agents (Cursor, Claude Code, …).
Gitea: Teilaspekte zu #30 Responsive UI; Admin-Layout kein separates Issue.
Branch-Realität: Umsetzung auf develop, Deploy nach main wie üblich.


Kurzüberblick

Thema Kern
Admin Eigener Bereich mit Shell wie KI-Analyse: Gruppen-Chips (mobil) / Sidebar (Desktop), Hub /admin/g/:groupId, Route-Guard RequireAdmin
Ziele Eigener Hauptnav-Punkt /goals; nicht mehr primär unter Analyse; Dashboard + Einstellungen als Sekundär-Einstiege
Einstellungen / Profil Nur aktives Profil inline; E-Mail-Self-Service; neue Profile nur Admin → Benutzerverwaltung
KI-Analyse Neue Ergebnis-Karte im rechten Spalt der analysis-split, damit Kategorie-Nav nicht verdrängt wird
PWA / iPhone Bottom-Nav: Safe Area auf .bottom-nav, kein Clipping durch overflow-y + safe-area auf Items
Deploy Prod Workflow: git fetch + git reset --hard origin/<branch> statt pull bei schmutziger package-lock
#14 Icon Picker Erledigt (EmojiIconPicker); Gitea geschlossen

Dateien (Single Source of Truth im Code)

Bereich Pfade
Hauptnavigation frontend/src/config/appNav.js (getMainNavItems)
Active-State Bottom + Sidebar frontend/src/App.jsx (navItemActive), frontend/src/components/DesktopSidebar.jsx
Admin Shell & Routing frontend/src/layouts/AdminShell.jsx, frontend/src/layouts/RequireAdmin.jsx, frontend/src/config/adminNav.js (ADMIN_GROUPS, Hubs)
Admin-Seiten frontend/src/pages/AdminHomePage.jsx, AdminGroupHubPage.jsx, AdminUsersPage.jsx, AdminSystemPage.jsx, …
Einstellungen Profil frontend/src/pages/SettingsPage.jsx, .settings-page__field in app.css
KI-Analyse Layout frontend/src/pages/Analysis.jsx + .analysis-split* in app.css
Admin-Zugriff verweigert frontend/src/pages/Dashboard.jsx (adminDenied State aus location.state)
Bottom-Nav / Safe Area frontend/src/app.css (--nav-h, --nav-pad-top, .bottom-nav, .app-main padding-bottom)
Deploy .gitea/workflows/deploy-prod.yml, deploy-dev.yml
Backend Profil E-Mail backend/models.py (ProfileUpdate.email), backend/routers/profiles.py (update_profile + Eindeutigkeit / Verifikation)
.gitignore Fix frontend/package-lock.json eigene Zeile (war mit settings.local verklebt)

Navigation: Reihenfolge (Mobile & Desktop)

Übersicht → Erfassen → Verlauf → Ziele → Analyse → Einstellungen → [Admin]

  • Ziele: NavLink mit end: true (exakt /goals).
  • Admin: nur wenn session.role === 'admin'; Highlight bei pathname.startsWith('/admin').

Admin-Bereich (IA)

  1. Shell nutzt dieselben UI-Klassen wie die Analyse: .analysis-split, .analysis-split__nav-wrap, .analysis-split__main.
  2. Nur Gruppen in der Shell-Nav (inkl. Zähler pro Gruppe).
  3. Konkrete Seiten: Karten auf /admin/g/:groupId (z. B. features, prompts, system).
  4. KI-Prompts eigene Gruppe; Basiseinstellungen = SMTP + Placeholder-Export (/admin/system).
  5. Kein Admin-Block mehr in den Einstellungen (nur Admin-Hinweis-Link zu Benutzerverwaltung).

Backend-Hinweis Profil

PUT /api/profile akzeptiert email; Änderung setzt email_verified u. a. zurück (siehe profiles.py).


Gitea / Issues (manuell oder scripts/gitea/gitea_api.py)

Issue Empfehlung
#30 Offen lassen oder TEILWEISE: Desktop-Sidebar existiert; ergänzt um Admin-Shell, scrollable Bottom-Nav, iOS Safe-Area. Kommentar mit Link auf dieses Dokument.
#14 Bereits geschlossen (Icon-Picker).
Kein eigenes Admin-IA-Issue Optional: Sub-Issue „Admin Shell P7“ schließen oder mit #30 verknüpfen.

Schließe kein großes #30 ohne Abnahme „volle Responsive-Spec“ diese Session liefert nur einen abgegrenzten GUI-Stand.


Checks für Folge-Agents

  1. frontend: npm run build
  2. Admin-Route als Nicht-Admin: Redirect /, Dashboard-Hinweis
  3. iPhone PWA: Bottom-Nav nicht beschnitten; Content nicht hinter Home-Indicator
  4. develop → nach Abnahme main + Deploy (siehe aktualisierte Workflows)

Changelog-Kurz

  • Admin: Shell, Hub-Routen, RequireAdmin, entfernt aus Settings.
  • Ziele: appNav, Dashboard, Settings, Analyse nur noch Hinweis-Link.
  • Settings: Mein Profil, E-Mail, keine Profilliste.
  • Analyse: newResult in analysis-split__main.
  • CSS: Bottom-Nav scroll + Safe Area + --nav-pad-top.
  • Deploy: reset --hard auf Runner-Arbeitskopie.
  • Review-Liste: #14 erledigt (siehe REVIEW_OPEN_ISSUES_2026-04-04.md).