Files
qwen-code/packages/web-shell/client/components/SessionOverviewPanel.module.css
T
50b942ae0d feat(web-shell): improve session overview navigation and details (#11238)
* feat(web-shell): improve session overview navigation and details

* fix(web-shell): keep session details inside constrained viewports

* test(web-shell): Verify settled session details replacement

* fix(web-shell): Preserve overview state and keyboard focus

* fix(web-shell): Fix rename-time control clicks and details focus ownership

- Narrow the inline-rename mousedown exemption to the editor input, so
  the blur-cancel remount can no longer detach a pressed control before
  mouseup and swallow its click; the draft now survives in-row control
  activation while plain-cell clicks still preserve it.
- Scope the details-popover focus rescue to a shared owner token: both
  overview entry points replace each other as before, but a hover from
  another owner (e.g. a sidebar row) no longer moves focus out of — and
  silently dismisses — a pinned overview popover.
- Pin the witnesses: cue/column icon agreement, no cue on idle rows,
  portal-root ancestry of the overview dialog, and a checkbox click
  landing while a rename draft is open.

* test: Fix CI details assertion and supervisor teardown

---------

Co-authored-by: qwen-code-ci-bot <[email protected]>
Co-authored-by: qwen-code-dev-bot <[email protected]>
2026-09-09 12:10:00 +00:00

90 lines
1.7 KiB
CSS

.panel {
display: flex;
flex-direction: column;
gap: 12px;
font-size: 13px;
color: var(--foreground);
}
.panel :global(button:disabled) {
pointer-events: auto;
cursor: not-allowed;
}
.tableViewport {
overflow: hidden;
}
.notice {
padding: 8px 12px;
border-radius: 8px;
font-size: 12px;
color: var(--warning-color);
background: color-mix(in srgb, var(--warning-color) 12%, transparent);
}
.colorDot {
width: 8px;
height: 8px;
flex: 0 0 8px;
border-radius: 999px;
}
.empty {
padding: 24px 12px;
text-align: center;
color: var(--muted-foreground);
font-size: 13px;
}
/* The "Current" tag on the active session — green so it stands out from the
muted status/workspace badges. */
.currentBadge {
color: var(--success-color);
background: color-mix(in srgb, var(--success-color) 14%, transparent);
}
.attention {
color: var(--warning-color);
}
/* The running indicator mirrors the sidebar's session-loading spinner: only
shown while a turn is active, so idle sessions stay visually quiet. */
.loading {
width: 12px;
height: 12px;
flex: 0 0 12px;
display: inline-flex;
border: 1.5px solid
color-mix(in srgb, var(--muted-foreground) 28%, transparent);
border-top-color: var(--muted-foreground);
border-radius: 999px;
animation: overviewSpin 0.8s linear infinite;
}
@keyframes overviewSpin {
to {
transform: rotate(360deg);
}
}
/* Color tags mirror the sidebar's session-group palette. */
.colorRed {
background: var(--accent-red);
}
.colorOrange {
background: var(--accent-orange);
}
.colorYellow {
background: var(--accent-yellow);
}
.colorGreen {
background: var(--accent-green);
}
.colorBlue {
background: var(--agent-blue-500);
}
.colorPurple {
background: var(--agent-purple-600);
}