Entwurf: die Seitenleiste der Konsole neu geordnet

Achtundzwanzig Eintraege in sieben Gruppen, und 'System' war der Platz fuer
alles, was sonst nirgends hinpasste. Der Entwurf haelt zwei Entscheidungen des
Betreibers fest: Selten-Benutztes verlaesst die Seitenleiste in einen eigenen
Einrichtungsbereich, und die drei Seiten, auf denen etwas wartet, stehen als
eigener Block ganz oben — mit einer Zahl daneben.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
claude/nice-moser-521659
nexxo 2026-08-04 01:47:03 +02:00
parent ceefaf1745
commit 8174ad77cc
1 changed files with 118 additions and 0 deletions

View File

@ -0,0 +1,118 @@
# Die Seitenleiste der Konsole — Entwurf
**Stand:** 2026-08-04 · freigegeben vom Betreiber
## Warum
Achtundzwanzig Einträge in sieben Gruppen, und die Aufteilung hielt keine Regel
durch. Die Gruppe „System" war der Platz für alles, was sonst nirgends hinpasste:
Mail-Einrichtung neben einem Rechtsdokument, neben den persönlichen
Kontoeinstellungen, neben der Mitarbeiterverwaltung, und ganz unten eine
Aufgabenliste. Der Betreiber hat es so beschrieben: „offene Punkte ist der letzte
Punkt, dann Rolle drüber und Einstellungen wieder drüber — irgendwie passt die
Aufteilung überhaupt nicht zusammen."
Dazu kam die Streuung: Mail lag in **drei** Gruppen — Versandtakt unter *Betrieb*,
Protokoll und Vorlagen unter *Post*, die Einrichtung unter *System*.
Und die Seite, die sagt, was liegt („Offene Punkte"), stand ganz unten.
## Die zwei Entscheidungen
**Erstens: Selten benutztes verlässt die Seitenleiste.** Was man einmal einrichtet
und danach kaum wieder anfasst, kommt in einen eigenen Bereich hinter einem
einzigen Eintrag. Der Betreiber hat dabei entschieden, dass **Pakete**,
**Vorlagen** und **Mail-Vorschau** ebenfalls dorthin gehören — Rechenzentren,
Proxy-Hosts und VPN dagegen bleiben im Tagesgeschäft.
**Zweitens: „Braucht dich" steht oben.** Drei Seiten, auf denen etwas auf jemanden
wartet, bilden einen eigenen Block ganz oben, mit einer Zahl daneben. Das ist die
Frage, mit der man eine Konsole öffnet — *muss ich gerade etwas tun?* — und sie
wurde bisher nirgends beantwortet.
## Die Seitenleiste
```
Übersicht
BRAUCHT DICH
Offene Punkte 7
Störungen 2
Zahlungsprobleme 1
KUNDEN Kunden · Instanzen
MASCHINEN Hosts · Rechenzentren · Kapazität · Proxy-Hosts · VPN
LÄUFT GERADE Bereitstellung · Wartung · Versandtakt
GELD Umsatz · Rechnungen · Finanzen
POST Posteingang · Mail-Protokoll
Einrichtung
```
Zwanzig Einträge statt achtundzwanzig, und **jede Seite steht genau einmal**.
Störungen zieht aus *Läuft gerade* nach oben, Zahlungsprobleme aus *Geld* — sie
ziehen um, sie verdoppeln sich nicht. Eine Seite an zwei Stellen ist ihre eigene
Verwirrung.
## Die Zahlen
| Eintrag | Quelle | Kosten |
|---|---|---|
| Offene Punkte | `Register::counts()` | im Speicher, keine Abfrage |
| Störungen | ungelöste Störungen | eine Zählabfrage |
| Zahlungsprobleme | unbeglichene Fälle | eine Zählabfrage |
Zwei Abfragen je Seitenaufruf, für 60 Sekunden zwischengespeichert. Die
Seitenleiste rendert auf jeder Konsolenseite; ohne Zwischenspeicher wäre das eine
Abgabe, die man später sucht.
**Bei null erscheint keine Plakette, der Eintrag bleibt stehen, die Gruppe bleibt
stehen.** Ein Block, der mal da ist und mal nicht, lässt einen suchen, ob man ihn
übersehen hat — und eine Seite, die bei null verschwindet, ist bei null nicht mehr
erreichbar.
## Der Einrichtungsbereich
Ein Eintrag unten in der Seitenleiste, dahinter eine Seite mit Kacheln in vier
Gruppen:
- **Zustellung** — E-Mail · Vorlagen · Mail-Vorschau
- **Angebot** — Pakete
- **Zugang** — Rollen · Einstellungen · Integrationen
- **Haus** — Bereitschaft · AV-Vertrag
Bewusst **keine Reiterleiste**: neun Reiter wären wieder das, was wir gerade
abschaffen. Bewusst **kein Zusammenlegen der Seiten**: sie behalten ihre Routen,
ihre Berechtigungen und ihren Inhalt. Es ändert sich nur der Weg dorthin. Damit
bleibt der Umbau klein und rückholbar; ob einzelne dieser Seiten später
verschmelzen, ist eine eigene Entscheidung mit eigenem Entwurf.
Eine Kachel, für die die Berechtigung fehlt, erscheint nicht — dieselbe Regel, die
die Seitenleiste heute schon je Eintrag anwendet.
## Was im Code passiert
| Stelle | Änderung |
|---|---|
| `App\Support\Navigation::console()` | neue Gruppen, Einträge umsortiert, Zählschlüssel je Eintrag |
| `resources/views/components/shell/nav.blade.php` | optionale Zählplakette neben einem Eintrag |
| `App\Livewire\Admin\Setup` + Route + `lang/{de,en}/setup.php` | die neue Kachelseite |
| `App\Support\Navigation` | die drei Zahlen, zwischengespeichert |
`Navigation::currentLabel()` trifft über den **Routennamen**, nicht über den Pfad —
Einträge zwischen Gruppen zu verschieben bricht die Brotkrumen also nicht.
## Zusicherungen (Tests)
1. Jede Konsolenseite steht in der Seitenleiste oder im Einrichtungsbereich —
**genau einmal**, nirgends zweimal, keine fällt heraus.
2. Eine Kachel und ein Seitenleisteneintrag ohne Berechtigung erscheinen nicht.
3. Bei null erscheint keine Plakette; der Eintrag bleibt trotzdem da.
4. Die Zahlen kommen aus dem Zwischenspeicher, nicht bei jedem Aufruf aus der
Datenbank.
## Offen gelassen
Der Betreiber hat zugestimmt mit dem Vorbehalt, sich „Braucht dich" erst ansehen zu
wollen. Fällt der obere Block weg, bleibt die Ordnung darunter unverändert
bestehen — sie ist unabhängig davon entworfen.