Light mode: ticket-ID hover preview follows the theme (#23)
Lint / PHP (phpcs PSR-12) (push) Successful in 17s
Lint / JS (eslint) (push) Successful in 9s
Lint / PHP requirements (version + extensions) (push) Successful in 22s
Lint / Notify on failure (push) Skipped
Security / PHP Security (semgrep) (push) Successful in 1m15s
Lint / Deploy (push) Successful in 2s
Lint / PHP (phpcs PSR-12) (push) Successful in 17s
Lint / JS (eslint) (push) Successful in 9s
Lint / PHP requirements (version + extensions) (push) Successful in 22s
Lint / Notify on failure (push) Skipped
Security / PHP Security (semgrep) (push) Successful in 1m15s
Lint / Deploy (push) Successful in 2s
.ticket-preview-popup used var(--lt-surface), which is not defined anywhere, so the background always fell through to the hardcoded #0a0e14. In light mode that left a near-black panel — and since the rule set no `color`, the inherited near-black body text was effectively invisible on it. The border was hardcoded neon green and the shadow a heavy rgba(0,0,0,0.5). Now uses --bg-card / --text-primary / --accent-green-border / --shadow-color, and .preview-id uses --accent-cyan instead of the undefined --lt-cyan. base.css gains the two tokens the light theme was missing (--accent-green-border and --shadow-color), synced from web_template 0d633bd. Verified with computed styles in headless chromium: light body-text contrast on the panel goes from invisible to 17.7:1, dark stays at 13.2:1, and the ID accent clears 3:1 in both themes.
This commit is contained in:
@@ -66,6 +66,7 @@
|
||||
--accent-green-bright: #33FFAA;
|
||||
--accent-green-dim: rgba(0,255,136,0.10);
|
||||
--accent-green-border: rgba(0,255,136,0.22);
|
||||
--shadow-color: rgba(0,0,0,0.5);
|
||||
|
||||
/* --- Error / Critical --- */
|
||||
--accent-red: #FF2D55;
|
||||
@@ -3640,6 +3641,8 @@ html[data-theme="light"] {
|
||||
--accent-red-dim: rgba(181,0,31,0.10);
|
||||
--accent-amber-dim: rgba(138,90,0,0.10);
|
||||
--accent-cyan-border: rgba(0,98,184,0.28);
|
||||
--accent-green-border: rgba(0,109,53,0.28);
|
||||
--shadow-color: rgba(50,80,130,0.18);
|
||||
|
||||
/* — Glows become subtle drop shadows in light mode — */
|
||||
--glow-orange: 0 0 0 1px rgba(196,78,0,0.25), 0 1px 6px rgba(196,78,0,0.18);
|
||||
|
||||
@@ -338,17 +338,22 @@ kbd {
|
||||
}
|
||||
|
||||
/* ── Ticket preview popup ────────────────────────────────────── */
|
||||
/* --lt-surface is not defined anywhere, so the background always fell through to
|
||||
the hardcoded #0a0e14 — a near-black panel in light mode, with no colour set at
|
||||
all, so the inherited near-black body text was invisible on it. These tokens
|
||||
are redefined for light mode in base.css. */
|
||||
.ticket-preview-popup {
|
||||
position: fixed;
|
||||
z-index: 9999;
|
||||
background: var(--lt-surface, #0a0e14);
|
||||
border: 1px solid rgba(0, 255, 65, 0.4);
|
||||
background: var(--bg-card);
|
||||
color: var(--text-primary);
|
||||
border: 1px solid var(--accent-green-border);
|
||||
padding: 0.75rem;
|
||||
min-width: 280px;
|
||||
max-width: 360px;
|
||||
font-size: 0.75rem;
|
||||
pointer-events: auto;
|
||||
box-shadow: 0 4px 20px rgba(0,0,0,0.5);
|
||||
box-shadow: 0 4px 20px var(--shadow-color);
|
||||
}
|
||||
.ticket-preview-popup .preview-header {
|
||||
display: flex;
|
||||
@@ -356,7 +361,7 @@ kbd {
|
||||
align-items: center;
|
||||
margin-bottom: 0.4rem;
|
||||
}
|
||||
.ticket-preview-popup .preview-id { color: var(--lt-cyan, #00ffff); font-weight: 700; }
|
||||
.ticket-preview-popup .preview-id { color: var(--accent-cyan); font-weight: 700; }
|
||||
.ticket-preview-popup .preview-title { font-weight: 600; margin-bottom: 0.4rem; }
|
||||
.ticket-preview-popup .preview-meta { opacity: 0.7; display: flex; flex-direction: column; gap: 0.1rem; }
|
||||
.ticket-preview-popup .preview-footer { margin-top: 0.4rem; opacity: 0.5; font-size: 0.65rem; }
|
||||
|
||||
Reference in New Issue
Block a user