Compare commits
2 changed files with 21 additions and 27 deletions
|
|
@ -144,8 +144,8 @@ body.dashboard-shell {
|
||||||
right: 0;
|
right: 0;
|
||||||
top: calc(100% + 2px);
|
top: calc(100% + 2px);
|
||||||
z-index: 100;
|
z-index: 100;
|
||||||
background: var(--bg-elev);
|
background: var(--surface0);
|
||||||
border: 1px solid var(--purple-dim);
|
border: 1px solid var(--surface2);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
|
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
|
||||||
list-style: none;
|
list-style: none;
|
||||||
|
|
@ -163,7 +163,7 @@ body.dashboard-shell {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
background: none;
|
background: none;
|
||||||
border: none;
|
border: none;
|
||||||
color: var(--fg);
|
color: var(--text);
|
||||||
font-family: inherit;
|
font-family: inherit;
|
||||||
font-size: 0.88em;
|
font-size: 0.88em;
|
||||||
letter-spacing: 0.05em;
|
letter-spacing: 0.05em;
|
||||||
|
|
@ -173,7 +173,7 @@ body.dashboard-shell {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
.tabbar-overflow-item:hover {
|
.tabbar-overflow-item:hover {
|
||||||
background: var(--border);
|
background: var(--surface1);
|
||||||
color: var(--purple);
|
color: var(--purple);
|
||||||
}
|
}
|
||||||
.tabbar-overflow-item-active {
|
.tabbar-overflow-item-active {
|
||||||
|
|
@ -447,8 +447,8 @@ a:hover {
|
||||||
}
|
}
|
||||||
.agent-menu-btn:hover,
|
.agent-menu-btn:hover,
|
||||||
.agent-menu-btn:focus-visible {
|
.agent-menu-btn:focus-visible {
|
||||||
background: var(--border);
|
background: var(--surface1);
|
||||||
color: var(--fg);
|
color: var(--text);
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
}
|
}
|
||||||
.agent-menu-btn:focus-visible {
|
.agent-menu-btn:focus-visible {
|
||||||
|
|
@ -460,8 +460,8 @@ a:hover {
|
||||||
right: 0;
|
right: 0;
|
||||||
top: calc(100% + 2px);
|
top: calc(100% + 2px);
|
||||||
z-index: 200;
|
z-index: 200;
|
||||||
background: var(--bg-elev);
|
background: var(--surface0);
|
||||||
border: 1px solid var(--purple-dim);
|
border: 1px solid var(--surface2);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.45);
|
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.45);
|
||||||
list-style: none;
|
list-style: none;
|
||||||
|
|
@ -475,7 +475,7 @@ a:hover {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
background: none;
|
background: none;
|
||||||
border: none;
|
border: none;
|
||||||
color: var(--fg);
|
color: var(--text);
|
||||||
font-family: inherit;
|
font-family: inherit;
|
||||||
font-size: 0.82em;
|
font-size: 0.82em;
|
||||||
letter-spacing: 0.01em;
|
letter-spacing: 0.01em;
|
||||||
|
|
@ -484,11 +484,11 @@ a:hover {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
.agent-menu-item:hover {
|
.agent-menu-item:hover {
|
||||||
background: var(--border);
|
background: var(--surface1);
|
||||||
}
|
}
|
||||||
.agent-menu-sep {
|
.agent-menu-sep {
|
||||||
height: 1px;
|
height: 1px;
|
||||||
background: var(--purple-dim);
|
background: var(--surface2);
|
||||||
margin: 0.3em 0;
|
margin: 0.3em 0;
|
||||||
}
|
}
|
||||||
/* Pending state splits queued vs running — queued ops show only
|
/* Pending state splits queued vs running — queued ops show only
|
||||||
|
|
@ -1206,7 +1206,7 @@ ul form.inline { display: inline-block; }
|
||||||
/* M0V3 affordance (selection bar) — mauve reads as "structural
|
/* M0V3 affordance (selection bar) — mauve reads as "structural
|
||||||
change" rather than the destructive red / amber chrome of
|
change" rather than the destructive red / amber chrome of
|
||||||
destroy / rebuild. See docs/web-ui.md::Selection bar. */
|
destroy / rebuild. See docs/web-ui.md::Selection bar. */
|
||||||
.btn-move { color: var(--purple); border-color: var(--purple); font-size: 0.75em; padding: 0.15em 0.5em; margin-left: 0.6em; }
|
.btn-move { color: var(--mauve); border-color: var(--mauve); font-size: 0.75em; padding: 0.15em 0.5em; margin-left: 0.6em; }
|
||||||
.btn-talk { color: var(--cyan); border-color: var(--cyan); }
|
.btn-talk { color: var(--cyan); border-color: var(--cyan); }
|
||||||
.btn-spawn { color: var(--amber); border-color: var(--amber); }
|
.btn-spawn { color: var(--amber); border-color: var(--amber); }
|
||||||
.btn-fire-now { color: var(--mauve, #cba6f7); border-color: var(--mauve, #cba6f7); }
|
.btn-fire-now { color: var(--mauve, #cba6f7); border-color: var(--mauve, #cba6f7); }
|
||||||
|
|
@ -1984,7 +1984,7 @@ body.logs-shell {
|
||||||
}
|
}
|
||||||
|
|
||||||
.logs-back {
|
.logs-back {
|
||||||
color: var(--purple);
|
color: var(--mauve);
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
font-size: 0.88em;
|
font-size: 0.88em;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
|
|
@ -2016,10 +2016,10 @@ body.logs-shell {
|
||||||
letter-spacing: 0.05em;
|
letter-spacing: 0.05em;
|
||||||
transition: background 100ms, color 100ms;
|
transition: background 100ms, color 100ms;
|
||||||
}
|
}
|
||||||
.logs-tab:hover { background: var(--border); color: var(--fg); }
|
.logs-tab:hover { background: var(--surface1); color: var(--text); }
|
||||||
.logs-tab.logs-tab-active {
|
.logs-tab.logs-tab-active {
|
||||||
background: var(--border);
|
background: var(--surface1);
|
||||||
color: var(--purple);
|
color: var(--mauve);
|
||||||
}
|
}
|
||||||
|
|
||||||
.logs-main {
|
.logs-main {
|
||||||
|
|
@ -2037,9 +2037,9 @@ body.logs-shell {
|
||||||
}
|
}
|
||||||
|
|
||||||
.logs-toolbar .journal-unit {
|
.logs-toolbar .journal-unit {
|
||||||
background: var(--border);
|
background: var(--surface1);
|
||||||
color: var(--fg);
|
color: var(--text);
|
||||||
border: 1px solid var(--purple-dim);
|
border: 1px solid var(--surface2);
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
padding: 0.25em 0.5em;
|
padding: 0.25em 0.5em;
|
||||||
font-size: 0.85em;
|
font-size: 0.85em;
|
||||||
|
|
@ -2459,7 +2459,7 @@ body.dashboard-shell.has-selection { padding-bottom: 4.5em; }
|
||||||
font-size: 0.75em;
|
font-size: 0.75em;
|
||||||
background: var(--bg);
|
background: var(--bg);
|
||||||
color: var(--fg);
|
color: var(--fg);
|
||||||
border: 1px solid var(--purple);
|
border: 1px solid var(--mauve);
|
||||||
border-radius: 2px;
|
border-radius: 2px;
|
||||||
padding: 0.1em 0.3em;
|
padding: 0.1em 0.3em;
|
||||||
max-width: 16em;
|
max-width: 16em;
|
||||||
|
|
|
||||||
|
|
@ -3438,9 +3438,6 @@ window.marked = marked;
|
||||||
function updateTabbarOverflow() {
|
function updateTabbarOverflow() {
|
||||||
const tabbar = $('tabbar');
|
const tabbar = $('tabbar');
|
||||||
if (!tabbar || !overflowBtn || !overflowDrop) return;
|
if (!tabbar || !overflowBtn || !overflowDrop) return;
|
||||||
// Skip dropdown rebuild while it is open — the 1s badge tick would
|
|
||||||
// replace DOM nodes and cause a flicker mid-interaction.
|
|
||||||
if (overflowOpen) return;
|
|
||||||
|
|
||||||
// Collect all tabs that are not JS-hidden (P33RS/M4TR1X may be hidden
|
// Collect all tabs that are not JS-hidden (P33RS/M4TR1X may be hidden
|
||||||
// by feature-gating) and not already removed from the DOM.
|
// by feature-gating) and not already removed from the DOM.
|
||||||
|
|
@ -3455,10 +3452,7 @@ window.marked = marked;
|
||||||
|
|
||||||
// Step 2: measure available width (bar width minus overflow-btn width).
|
// Step 2: measure available width (bar width minus overflow-btn width).
|
||||||
// We must read layout AFTER restoring all dynamic tabs.
|
// We must read layout AFTER restoring all dynamic tabs.
|
||||||
// overflowBtn may be hidden (offsetWidth=0) on the very first call; fall
|
const availWidth = tabbar.clientWidth - overflowBtn.offsetWidth - 8;
|
||||||
// back to a 32px estimate so the first-pass measurement isn't off.
|
|
||||||
const btnW = overflowBtn.offsetWidth || 32;
|
|
||||||
const availWidth = tabbar.clientWidth - btnW - 8;
|
|
||||||
|
|
||||||
// Step 3: walk dynamic tabs left-to-right, accumulating widths.
|
// Step 3: walk dynamic tabs left-to-right, accumulating widths.
|
||||||
// Any that go over the available width get overflowed.
|
// Any that go over the available width get overflowed.
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue