ui: the drafts go chrome-less; serif titles name sessions, always (owner round 11)

Both /chat/new drafts lose their TopBar — home's register now: drag
mask first in the DOM, floating sidebar-reopen toggle as the only
pointer-events-auto spot, the empty state carrying the orientation.
The chain picker's own bar then sits at the very top of the column,
exactly like the graph view — no stacked bars, no special-casing.
The chain table drops its 'Chains' title with it: the serif title
register is RESERVED — it always names a session; the table names
nothing, so its bar carries counts + search + close only.
This commit is contained in:
amosblomqvist
2026-10-05 07:09:16 +03:00
parent b8c1b9b096
commit fde858fda3
4 changed files with 37 additions and 21 deletions
+4 -3
View File
@@ -125,12 +125,13 @@ describe("ChainTableBody — clusters (the outermost layer)", () => {
});
describe("ChainTableBody — THE shared TopBar + the lines law (owner, round 2)", () => {
it("the body renders the standardized top bar: h-15, lh-drag, select-none, standard title size, close X", () => {
it("the body renders the standardized top bar: h-15, lh-drag, select-none, NO title (serif = session name, always), close X", () => {
const html = render();
assert.ok(html.includes("lh-drag"), "the window-drag band");
assert.ok(html.includes("select-none"), "dragging never highlights the title");
assert.ok(html.includes("select-none"), "dragging never highlights the bar");
assert.ok(html.includes("h-15"), "the standard height");
assert.ok(html.includes('font-title text-3xl tracking-tight">Chains<'), "the standard title size");
assert.ok(!html.includes(">Chains<"), "NO title (owner round 11): the serif register always names a session");
assert.ok(html.includes("chain"), "the counts remain");
assert.ok(html.includes('data-testid="chain-table-close"'), "the close X");
assert.ok(html.includes('data-testid="chain-table-search"'), "the search input");
});