fix: watcher avatars, dependency TDS styling, asset versions, nav dropdown light theme

- watch_ticket.php GET now returns watcher list (up to 6 users) for avatar group
- TicketView: watcher avatar group rendered next to WATCH button, refreshes on toggle
- Rewrite renderDependencies/renderDependents to use TDS lt-kv-grid/lt-badge/lt-btn classes
- renderDependencies: show lt-alert--warning blocker banner when blocked_by has open tickets
- Fix ALL hardcoded ?v=20260327 asset version strings in CreateTicketView + all admin views
- base.css: fix .lt-nav-dropdown-menu hardcoded background → var(--bg-overlay)
- base.css: add light-theme overrides for nav dropdown menu (background, links, hover)
- ticket.css: add .lt-avatar-group and .lt-avatar--overflow styles for watcher display

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-04 12:02:30 -04:00
parent c0dfbdbc26
commit fca4896e0d
13 changed files with 162 additions and 56 deletions
+18 -1
View File
@@ -525,7 +525,7 @@ hr {
top: calc(100% + 4px);
left: 0;
min-width: 180px;
background: rgba(6,12,20,0.98);
background: var(--bg-overlay, rgba(6,12,20,0.98));
border: 1px solid var(--accent-cyan-border);
box-shadow: var(--box-glow-cyan), 0 16px 40px rgba(0,0,0,0.8);
z-index: var(--z-dropdown);
@@ -3781,6 +3781,23 @@ html[data-theme="light"] .lt-drawer-right-header { background: var(--bg-seconda
html[data-theme="light"] .lt-drawer-right-footer { background: var(--bg-secondary); border-top-color: var(--border-color); }
html[data-theme="light"] .lt-drawer-right-overlay { background: rgba(30,40,70,0.35); }
/* — Nav dropdown menu — */
html[data-theme="light"] .lt-nav-dropdown-menu {
background: var(--bg-card);
border-color: var(--border-color);
box-shadow: 0 6px 20px rgba(0,0,0,0.12);
}
html[data-theme="light"] .lt-nav-dropdown-menu::before { display: none; }
html[data-theme="light"] .lt-nav-dropdown-menu li a {
color: var(--text-secondary);
border-bottom-color: var(--border-dim);
}
html[data-theme="light"] .lt-nav-dropdown-menu li a:hover {
color: var(--accent-orange);
background: var(--accent-orange-dim);
text-shadow: none;
}
/* — Dropdowns & notification panel — */
html[data-theme="light"] .lt-dropdown-panel {
background: var(--bg-card);
+20
View File
@@ -270,6 +270,26 @@ kbd {
.thread-depth-3 { margin-left: 2.25rem; }
}
/* ── Watcher avatar group in toolbar ────────────────────────── */
.lt-avatar-group {
display: flex;
align-items: center;
}
.lt-avatar-group .lt-avatar {
margin-left: -0.4rem;
border: 1px solid var(--bg-primary, #030508);
flex-shrink: 0;
}
.lt-avatar-group .lt-avatar:first-child { margin-left: 0; }
.lt-avatar--overflow {
background: var(--bg-tertiary, #1a1f2e);
border: 1px solid var(--border-dim, rgba(0,255,65,0.2)) !important;
font-size: 0.55rem;
font-weight: 700;
color: var(--text-muted);
cursor: default;
}
/* ── Description read view ───────────────────────────────────── */
/* Shown in read mode instead of a disabled (faded) textarea. */
/* Uses lt-markdown typography for full contrast on dark/OLED. */