feat(nav): Seitenleiste der Software spiegeln, Analytics als ein Menüpunkt

Der Prototyp hatte eine eigene Seitenleiste mit den fünf Analyse-Seiten als
Menüpunkten. Die Software hat eine andere Navigation, in der Analytics noch gar
nicht vorkommt. Beides zusammen ergab kein Bild davon, wo die Analyse später
sitzt.

Jetzt:
- Die Seitenleiste spiegelt die von HiveGrid Cloud — dieselbe Komponente
  (SidebarWithSections aus der Cloud-Fassung portiert, inkl. der dortigen
  lokalen Fixes: Collapse-Breite, verdrahteter Toggle, Logo-Slot, Hover-Sweep),
  dieselben Gruppen, dieselbe Reihenfolge, dasselbe Logo.
- 'Analytics' ist ein einzelner Menüpunkt, gleichrangig neben 'Dashboard'.
- Die fünf Analyse-Seiten sind darin über Reiter erreichbar, nicht als
  Unterpunkte in der Navigation. Zwei Navigationsebenen für dieselbe Sache
  würden nur konkurrieren. Die Reiter folgen dem Hausmuster aus
  SettingsHubShell (Link um Tabs.Item), damit jeder Reiter eine echte Adresse
  hat und mittelklickbar bleibt.
- Routen: /analytics, /analytics/finanzen, /auftraege, /kunden, /team.
  '/' leitet auf /analytics; das Dashboard liegt in der Software unter '/'.
- Alle übrigen Einträge sind Kontext: Sie zeigen den Ort in der fertigen
  Anwendung und melden beim Klick, dass sie zur Software gehören.

Kopfzeile und Filterleiste sind aus den fünf Seiten in die Analytics-Hülle
gewandert — sie sind für alle gleich, und der Filterzustand gilt bereichsweit.

Nebenbei: @radix-ui/react-slot war eine Phantom-Dependency (nur transitiv über
@subframe/core vorhanden, vom portierten IconButton direkt importiert) und ist
jetzt deklariert. verify-layout prüfte noch die alten Routen und lief damit auf
404-Seiten, die naturgemäß keine Kollisionen haben — Routen korrigiert und eine
Absicherung ergänzt, die bei Statuscode >= 400 abbricht.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QPeZNwSeU7qG3RRCwaxEZX
This commit is contained in:
dejanandClaude Opus 5 committed 2026-08-29 20:25:04 +02:00
1 parent cdf9066076
commit e85ceb6f9d
32 files changed
+851 -851

No files matched your search

+38 -13
View File
@@ -2,22 +2,47 @@
## Struktur
Die Seitenleiste **spiegelt die von HiveGrid Cloud** — dieselbe Komponente
(`ui/components/SidebarWithSections`), dieselben Gruppen, dieselbe Reihenfolge:
```
Seitenleiste (fest, einklappbar auf Icon-Breite)
├── Analyse
│ ├── Übersicht / Kernkennzahlen, Handlungsbedarf
│ ├── Finanzen /finanzen Umsatz, Forderungen, Zahlungsverhalten
│ ├── Aufträge /auftraege Pipeline, Termine, Förderung
│ ├── Kunden /kunden Akquise, Quellen, Reaktivierung
│ └── Team /team Auslastung, Stunden, Abschlüsse
└── Entwicklung
└── Komponenten /komponenten Bausteine und Regeln (nur für die Umsetzung)
HIVEGRID
├── Dashboard gehört zur Software, hier nicht enthalten
├── Analytics ◄── der Prototyp lebt hier /analytics
├── Aufgaben gehört zur Software
├── Kunden
│ ├── Kontakte · Leads
├── Projekte
│ ├── Pipelines · Plantafel · Dateien
├── Kommunikation
│ ├── Postfach · Formulare · Telefonie
├── Organisation
│ └── Termine
├─────────────────────
├── Komponenten Bausteingalerie des Prototyps /komponenten
└── Einstellungen gehört zur Software
```
**Warum Seitenleiste statt Tab-Leiste:** Die bestehende HiveGrid-Oberfläche
navigiert links. Der Prototyp lässt sich so ohne Umbau der
Informationsarchitektur einsetzen. Einklappen schafft Platz für breite Tabellen
und das fünfspaltige KPI-Raster.
**Analytics ist ein einzelner Menüpunkt**, kein aufklappbarer Bereich. Die fünf
Analyse-Seiten sind darin über **Reiter** erreichbar:
```
/analytics Übersicht
/analytics/finanzen Finanzen
/analytics/auftraege Aufträge
/analytics/kunden Kunden
/analytics/team Team
```
Zwei Navigationsebenen für dieselbe Sache — Unterpunkte in der Seitenleiste
*und* Reiter — würden nur konkurrieren. Die Reiter folgen dem Hausmuster aus
`SettingsHubShell.tsx` im Zielsystem: ein `Link` um ein `Tabs.Item`, damit jeder
Reiter eine echte Adresse hat und mittelklickbar bleibt.
**Nur Analytics und Komponenten führen hier irgendwohin.** Die übrigen Einträge
zeigen, wo die Analyse in der fertigen Anwendung sitzt, und melden beim Klick,
dass sie zur Software gehören. Eine tote Schaltfläche ohne Rückmeldung wäre
schlechter als gar keine.
---
+12 -8
View File
@@ -1,8 +1,8 @@
# Scope: Analytics und Dashboard sind zwei Features
**Stand: 29.08.2026 · Festgehalten, nicht entschieden.**
Auf dieser Grundlage ist noch nichts gebaut. Die offenen Punkte in Abschnitt 5
sind mit den Kollegen zu klären, bevor jemand Code anfasst.
**Stand: 29.08.2026.** Von den offenen Punkten in Abschnitt 5 ist bisher genau
einer entschieden und gebaut: die Navigation (5.5). Alles andere ist mit den
Kollegen zu klären, bevor jemand Code anfasst.
---
@@ -95,7 +95,7 @@ wie sie sind.
## 4. Wie die beiden zusammenhängen
```
Analytics (Bereich „Statistiken") Dashboard (Startseite)
Analytics (ein Menüpunkt, Reiter innen) Dashboard (eigener Menüpunkt)
├── Übersicht ← Rolle unklar, ┐ ├── Begrüßung
├── Finanzen siehe 5.1 │ ├── KPI-Kacheln ┐ aus dem
├── Aufträge ├──────┤ Trend-Charts ┤ Analytics-
@@ -134,10 +134,14 @@ akzeptieren oder anders lösen.
Globaler Filter wie in Analytics oder pro Widget wie in P11? Die Software hat
sich für „pro Widget" entschieden; das ist beim Übertragen zu beachten.
**5.5 Navigation.**
Eigene Gruppe „Statistiken" neben Kunden/Projekte — siehe
[ZIELSYSTEM.md](ZIELSYSTEM.md) 3.1b. Hängt an 5.1: Solange unklar ist, ob es
eine Übersichtsseite gibt, ist auch der Einstiegspunkt der Gruppe offen.
**5.5 Navigation — entschieden am 29.08.2026.**
Analytics ist **ein einzelner Menüpunkt** in der Seitenleiste, gleichrangig
neben Dashboard. Die fünf Analyse-Seiten sind darin über Reiter erreichbar,
nicht als Unterpunkte in der Navigation. Das Dashboard bleibt als eigener
Menüpunkt daneben. Umgesetzt; siehe [NAVIGATION.md](NAVIGATION.md).
Offen bleibt daran nur 5.1: Wenn die Übersichtsseite zum Dashboard wird,
verliert der Analytics-Bereich seinen ersten Reiter.
**5.6 Team-Seite.**
Unabhängig davon offen, weil Zeiterfassung im v2-Backlog steht — siehe
+6 -1
View File
@@ -176,7 +176,12 @@ Dimensionsfilter.
Analyse „warum ist das so". Beides in eine Seite zu legen, macht aus dem
Einstieg eine Halde.
**Empfehlung: Option 1**, mit dem Namen **„Statistiken"** — so heißt der
**Entschieden am 29.08.2026: Option 1**, mit dem Namen **„Analytics"** — der
Prototyp setzt das um. Die Seitenleiste spiegelt jetzt die der Software
(dieselbe Komponente, dieselben Gruppen); „Analytics" ist ein einzelner
Menüpunkt neben „Dashboard", die fünf Seiten sind darin über Reiter erreichbar.
*Ursprüngliche Empfehlung war der Name* **„Statistiken"** — so heißt der
Breadcrumb im Prototyp bereits, und „Analyse" ist im Haus durch
`leads/analytics` belegt. Das bestehende `/dashboard` bleibt Startseite; unsere
Seite „Übersicht" braucht dann einen anderen Namen, sonst konkurrieren zwei