mirror of
https://github.com/smittix/intercept.git
synced 2026-04-30 01:29:59 -07:00
fix(modes): deep-linked mode scripts fail when body not yet parsed
ensureModeScript() used document.body.appendChild() to load lazy mode scripts, but the preload for ?mode= query params runs in <head> before <body> exists, causing all deep-linked modes to silently fail. Also fix cross-mode handoffs (BT→BT Locate, WiFi→WiFi Locate, Spy Stations→Waterfall) that assumed target module was already loaded. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -84,6 +84,18 @@
|
||||
border-color: var(--accent-red-hover);
|
||||
}
|
||||
|
||||
.btn-danger-outline {
|
||||
background: transparent;
|
||||
color: var(--accent-red);
|
||||
border-color: var(--accent-red);
|
||||
}
|
||||
|
||||
.btn-danger-outline:hover:not(:disabled) {
|
||||
background: var(--accent-red-dim);
|
||||
color: var(--accent-red);
|
||||
border-color: var(--accent-red);
|
||||
}
|
||||
|
||||
.btn-success {
|
||||
background: var(--accent-green);
|
||||
color: var(--text-inverse);
|
||||
@@ -878,6 +890,67 @@ textarea:focus {
|
||||
filter: grayscale(30%);
|
||||
}
|
||||
|
||||
/* ============================================
|
||||
MODAL CLOSE BUTTON
|
||||
============================================ */
|
||||
.modal-close-btn {
|
||||
position: absolute;
|
||||
top: 8px;
|
||||
right: 8px;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
background: transparent;
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: var(--radius-md);
|
||||
color: var(--text-secondary);
|
||||
cursor: pointer;
|
||||
font-size: 16px;
|
||||
line-height: 1;
|
||||
transition: all var(--transition-fast);
|
||||
}
|
||||
.modal-close-btn:hover { background: var(--bg-elevated); color: var(--text-primary); }
|
||||
.modal-close-btn:focus-visible { outline: 2px solid var(--border-focus); outline-offset: 2px; }
|
||||
|
||||
/* Aliases for existing modal-specific close classes */
|
||||
.settings-close,
|
||||
.help-close,
|
||||
.wifi-detail-close,
|
||||
.bt-modal-close,
|
||||
.tscm-modal-close,
|
||||
.signal-details-modal-close {
|
||||
position: absolute;
|
||||
top: 8px;
|
||||
right: 8px;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
background: transparent;
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: var(--radius-md);
|
||||
color: var(--text-secondary);
|
||||
cursor: pointer;
|
||||
font-size: 16px;
|
||||
line-height: 1;
|
||||
transition: all var(--transition-fast);
|
||||
}
|
||||
.settings-close:hover,
|
||||
.help-close:hover,
|
||||
.wifi-detail-close:hover,
|
||||
.bt-modal-close:hover,
|
||||
.tscm-modal-close:hover,
|
||||
.signal-details-modal-close:hover { background: var(--bg-elevated); color: var(--text-primary); }
|
||||
.settings-close:focus-visible,
|
||||
.help-close:focus-visible,
|
||||
.wifi-detail-close:focus-visible,
|
||||
.bt-modal-close:focus-visible,
|
||||
.tscm-modal-close:focus-visible,
|
||||
.signal-details-modal-close:focus-visible { outline: 2px solid var(--border-focus); outline-offset: 2px; }
|
||||
|
||||
/* ============================================
|
||||
CONFIRMATION MODAL
|
||||
============================================ */
|
||||
|
||||
@@ -160,7 +160,7 @@
|
||||
/* ============================================
|
||||
LAYOUT
|
||||
============================================ */
|
||||
--header-height: 60px;
|
||||
--header-height: 48px;
|
||||
--nav-height: 44px;
|
||||
--sidebar-width: 280px;
|
||||
--stats-strip-height: 36px;
|
||||
@@ -224,8 +224,8 @@
|
||||
|
||||
--text-primary: #122034;
|
||||
--text-secondary: #3a4a5f;
|
||||
--text-dim: #6b7c93;
|
||||
--text-muted: #aab6c8;
|
||||
--text-dim: #566a7f;
|
||||
--text-muted: #7a8a9e;
|
||||
--text-inverse: #f4f7fb;
|
||||
|
||||
--border-color: #d1d9e6;
|
||||
|
||||
Reference in New Issue
Block a user