From 46cbf94a498e8d7c60c13ee2d3675f9ce051f311 Mon Sep 17 00:00:00 2001 From: claude-dev Date: Thu, 5 Mar 2026 19:00:31 +0100 Subject: [PATCH] UI: Email-Dropdown im Header mit Org-Name und Lizenztyp MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Klick auf Email öffnet Dropdown mit Organisation und Lizenzinfo - Org-Name und Lizenz-Badge nicht mehr direkt sichtbar im Header - Dropdown schliesst bei Klick ausserhalb - Barrierefreie ARIA-Attribute Co-Authored-By: Claude Opus 4.6 --- src/static/css/style.css | 77 ++++++++++++++++++++++++++++++++------- src/static/dashboard.html | 15 ++++++-- src/static/js/app.js | 42 +++++++++++---------- 3 files changed, 97 insertions(+), 37 deletions(-) diff --git a/src/static/css/style.css b/src/static/css/style.css index 0da61a4..2c99c00 100644 --- a/src/static/css/style.css +++ b/src/static/css/style.css @@ -477,29 +477,78 @@ a:hover { color: var(--text-secondary); font-weight: 500; } -/* --- Org & License Info in Header --- */ +/* --- User Dropdown in Header --- */ .header-user-info { - display: flex; - flex-direction: column; - align-items: flex-end; - gap: 2px; - line-height: 1.3; + position: relative; } -.header-user-top { +.header-user-btn { display: flex; align-items: center; - gap: var(--sp-md); + gap: 6px; + background: none; + border: 1px solid transparent; + border-radius: var(--radius); + padding: 4px 8px; + cursor: pointer; + transition: border-color 0.15s, background 0.15s; } -.header-org-name { - font-size: 11px; +.header-user-btn:hover, +.header-user-btn[aria-expanded="true"] { + border-color: var(--border); + background: var(--bg-secondary); +} + +.header-user-chevron { + font-size: 10px; + color: var(--text-tertiary); + transition: transform 0.15s; +} + +.header-user-btn[aria-expanded="true"] .header-user-chevron { + transform: rotate(180deg); +} + +.header-user-dropdown { + display: none; + position: absolute; + top: calc(100% + 6px); + right: 0; + min-width: 220px; + background: var(--bg-secondary); + border: 1px solid var(--border); + border-radius: var(--radius); + padding: 12px; + box-shadow: 0 8px 24px rgba(0,0,0,0.3); + z-index: 1000; +} + +.header-user-dropdown.open { + display: block; +} + +.header-dropdown-row { + display: flex; + justify-content: space-between; + align-items: center; + padding: 6px 0; +} + +.header-dropdown-row + .header-dropdown-row { + border-top: 1px solid var(--border); +} + +.header-dropdown-label { + font-size: 12px; color: var(--text-tertiary); font-weight: 400; - max-width: 200px; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; +} + +.header-dropdown-value { + font-size: 12px; + color: var(--text-primary); + font-weight: 500; } .header-license-badge { diff --git a/src/static/dashboard.html b/src/static/dashboard.html index 41b3100..a2dd319 100644 --- a/src/static/dashboard.html +++ b/src/static/dashboard.html @@ -30,11 +30,20 @@