feat(struktur): weniger Klicks, Org-Detail als eine Seite, Kontingent in der Übersicht
Drei Vereinfachungen auf Nutzerwunsch. 1. Das Org-Detail hat keine Unterreiter mehr. Verbrauch & Kontingent, Nutzer, Lizenzen und Einstellungen stehen untereinander auf einer Seite (Verbrauch optisch zuerst, per CSS-Order ohne Block-Verschiebung), die bisherigen Reiter sind Sprungmarken, die nur scrollen. Alle Bereiche laden sofort, der Org-Kopf zeigt den Kontingent-Stand als Kurzinfo. 2. Die Organisations-Tabelle bekommt eine Kontingent-Spalte mit Verbraucht/Verfügbar und Mini-Balken (gelb ab 50, rot ab 80 Prozent), Datenquelle ist die vorhandene Overview-API. Ganze Zeile klickbar. 3. Der globale Hauptreiter "Lizenzen" entfällt, er zeigte nur die Ablauf-Liste, die bereits auf dem Dashboard steht. Die Einträge dort öffnen jetzt direkt die jeweilige Organisation, die Kachel "Aktive Lizenzen" führt zur Organisations-Verwaltung. loadExpiringLicenses bleibt als abgesicherter No-op für Alt-Aufrufer erhalten. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Dieser Commit ist enthalten in:
@@ -1401,3 +1401,37 @@ details.adv-section .adv-hint { grid-column: 1 / -1; font-size: 12px; color: var
|
||||
.card-link:hover, .card-link:focus-visible { border-color: var(--accent); }
|
||||
.card-link .card-link-chevron { color: var(--text-muted); transition: color 0.15s ease, transform 0.15s ease; }
|
||||
.card-link:hover .card-link-chevron { color: var(--accent); transform: translateX(2px); }
|
||||
|
||||
/* === Org-Detail als durchgehende Seite (statt Unterreitern) === */
|
||||
.detail-panel.active { display: flex; flex-direction: column; }
|
||||
#orgDetailTabs { order: 1; position: sticky; top: 61px; background: var(--bg-primary); z-index: 50; }
|
||||
.org-block { margin-top: 26px; scroll-margin-top: 120px; }
|
||||
#sub-tokens { order: 2; }
|
||||
#sub-users { order: 3; }
|
||||
#sub-org-licenses { order: 4; }
|
||||
#sub-settings { order: 5; }
|
||||
.org-block-title {
|
||||
font-size: 16px;
|
||||
margin-bottom: 12px;
|
||||
padding-bottom: 6px;
|
||||
border-bottom: 1px solid var(--border);
|
||||
color: var(--text-primary);
|
||||
}
|
||||
|
||||
/* === Kontingent-Spalte in der Org-Tabelle === */
|
||||
.org-row { cursor: pointer; }
|
||||
.mini-bar {
|
||||
width: 90px;
|
||||
height: 5px;
|
||||
border-radius: 3px;
|
||||
background: var(--bg-tertiary);
|
||||
overflow: hidden;
|
||||
margin-top: 3px;
|
||||
}
|
||||
.mini-bar-fill { height: 100%; background: var(--success); border-radius: 3px; }
|
||||
.mini-bar-fill.warning { background: var(--warning); }
|
||||
.mini-bar-fill.critical { background: var(--danger); }
|
||||
|
||||
/* === Klickbare Eintraege in der Ablauf-Liste === */
|
||||
.expiring-item-link { cursor: pointer; border-radius: var(--radius); transition: background 0.15s ease; }
|
||||
.expiring-item-link:hover, .expiring-item-link:focus-visible { background: var(--bg-hover); }
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren