fix(web): paint session row highlight as one chip including the menu
Independent Staging Quality Gate / validate (push) Successful in 10m44s
Independent Staging Quality Gate / publish (push) Failing after 3m29s

Selected and hover fill stay on the whole row. The title and ⋯ no longer draw their own canvas or radius, so they stop looking like two controls (BUG-993, recurrence of BUG-024).
This commit is contained in:
jesse-ux
2026-09-21 20:12:58 +08:00
parent c954fb8e67
commit f9685f2837
5 changed files with 33 additions and 5 deletions
+8
View File
@@ -494,10 +494,18 @@ test("nests sidebar lists under one heading scale without an archive toggle", ()
test("renders each session title and menu as one unified row surface", () => {
assert.match(cssBlock(".session-row"), /grid-template-columns:\s*minmax\(0,\s*1fr\)\s+44px/);
assert.match(cssBlock(".session-row"), /overflow:\s*hidden/);
assert.match(globalStyles, /\.session-row:has\(\.session-main\[data-active="true"\]\)[^{]*\{[^}]*background:\s*var\(--sidebar-accent\)/);
assert.match(cssBlock(".session-main"), /border-radius:\s*0/);
assert.match(cssBlock('.session-main[data-active="true"]'), /background:\s*transparent/);
assert.match(cssBlock(".session-menu-trigger"), /border-radius:\s*0/);
assert.match(cssBlock(".session-menu-trigger"), /align-self:\s*stretch/);
assert.match(cssBlock(".session-menu-trigger"), /min-height:\s*44px/);
assert.doesNotMatch(cssBlock(".session-menu-trigger"), /border-radius:\s*50%/);
assert.doesNotMatch(cssBlock(".session-menu-trigger"), /(?<!min-)height:\s*44px/);
const triggerHover = cssBlock(".session-menu-trigger:hover, .session-menu-trigger[aria-expanded=\"true\"]");
assert.match(triggerHover, /background:\s*transparent/);
assert.doesNotMatch(triggerHover, /--color-canvas/);
});
test("styles the non-mobile collapsed rail without repeated session rows", () => {