Fix: resolve JS SyntaxErrors that crashed entire window.lt namespace
Root cause: two SyntaxErrors prevented the IIFE from completing,
meaning window.lt was never created and all features were broken.
Fixes applied:
1. CRITICAL: Renamed auth's apiFetch redeclaration → _apiFetchAuth
(duplicate function declaration in strict-mode IIFE = SyntaxError)
2. CRITICAL: Renamed toast queue vars (_toastQueue/_toastActive already
declared by original showToast in outer scope = SyntaxError)
Replaced heavy queue wrapper with lightweight progress-bar injector
3. timer.countdown: classList.add(urgentClass) throws on space-separated
class string — split/filter/forEach now used
4. contextMenu: _ctxItems declared as [] but used as string-keyed object
— changed to {}
5. Split pane divider: background was border-dim (7% opacity, invisible)
— raised to border-color (16%), added ::before hit-area expansion,
hover state uses accent-cyan for clear visual feedback
6. Light theme: html background-image was hardcoded cyan rgba, didn't
update with data-theme — added explicit html[data-theme="light"] rule
7. Light theme: .lt-header background was hardcoded rgba(3,5,8,0.96)
— added explicit light-mode override
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -3325,15 +3325,17 @@ html[data-theme="light"] {
|
||||
/* Hide CRT overlays in light mode */
|
||||
html[data-theme="light"] body::before,
|
||||
html[data-theme="light"] body::after { display: none; }
|
||||
/* Soften dot grid */
|
||||
html[data-theme="light"] body {
|
||||
background-image: radial-gradient(circle, rgba(0,80,160,0.10) 1px, transparent 1px);
|
||||
/* Override hardcoded dot-grid background on html element */
|
||||
html[data-theme="light"] {
|
||||
background-image: radial-gradient(circle, rgba(0,80,160,0.12) 1px, transparent 1px);
|
||||
}
|
||||
/* Nav / header adjustments */
|
||||
/* Header — hardcoded dark rgba needs explicit light override */
|
||||
html[data-theme="light"] .lt-header {
|
||||
background: rgba(238,241,246,0.96);
|
||||
background: rgba(238,241,246,0.97);
|
||||
border-bottom-color: var(--border-color);
|
||||
}
|
||||
html[data-theme="light"] .lt-main { background: transparent; }
|
||||
html[data-theme="light"] .lt-section-header { background: linear-gradient(90deg, var(--bg-secondary) 0%, transparent 100%); }
|
||||
html[data-theme="light"] .lt-nav-link,
|
||||
html[data-theme="light"] .lt-nav-link:hover { color: var(--text-secondary); }
|
||||
html[data-theme="light"] .lt-nav-link.active { color: var(--accent-orange); }
|
||||
@@ -3943,12 +3945,20 @@ body.lt-is-offline .lt-main { margin-top: 2rem; transition: margin-top 0.25s eas
|
||||
}
|
||||
.lt-split-divider {
|
||||
flex: 0 0 5px;
|
||||
background: var(--border-dim);
|
||||
background: var(--border-color); /* 16% opacity — clearly visible */
|
||||
cursor: col-resize;
|
||||
transition: background 0.15s;
|
||||
position: relative;
|
||||
user-select: none;
|
||||
touch-action: none;
|
||||
/* Wider invisible hit area so it's easy to grab */
|
||||
}
|
||||
.lt-split-divider::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0; bottom: 0;
|
||||
left: -6px; right: -6px;
|
||||
cursor: col-resize;
|
||||
}
|
||||
.lt-split-divider::after {
|
||||
content: '⠿';
|
||||
@@ -3956,11 +3966,12 @@ body.lt-is-offline .lt-main { margin-top: 2rem; transition: margin-top 0.25s eas
|
||||
top: 50%; left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
color: var(--text-muted);
|
||||
font-size: 0.6rem;
|
||||
font-size: 0.75rem;
|
||||
pointer-events: none;
|
||||
}
|
||||
.lt-split-divider:hover,
|
||||
.lt-split-divider.is-dragging { background: var(--accent-cyan-border); }
|
||||
.lt-split-divider.is-dragging { background: var(--accent-cyan); }
|
||||
.lt-split--vertical .lt-split-divider::before { top: -6px; bottom: -6px; left: 0; right: 0; cursor: row-resize; }
|
||||
.lt-split--vertical .lt-split-divider { cursor: row-resize; }
|
||||
/* On mobile, stack vertically and hide divider */
|
||||
@media (max-width: 767px) {
|
||||
|
||||
Reference in New Issue
Block a user