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
+8 -6
View File
@@ -237,13 +237,15 @@ export function ChainTableBody({
return (
<div data-testid="chain-table" className="relative flex h-full min-h-0 flex-col">
{/* THE shared top bar (standardization ruling): title at the standard
size, drag mechanics, sidebar reopen, traffic-light gutter — the
same element as every chat surface. Search + close
carve out with lh-no-drag (the mask law: later in the DOM). */}
{/* THE shared top bar (standardization ruling): drag mechanics,
sidebar reopen, traffic-light gutter — the same element as every
chat surface. NO TITLE (owner round 11, 2026-10-05): the serif
title register is RESERVED — it always names a session; the
chain table names nothing, so its bar carries counts + search +
close only. Search + close carve out with lh-no-drag (the mask
law: later in the DOM). */}
<TopBar>
<span className="min-w-0 flex-1 truncate font-title text-3xl tracking-tight">Chains</span>
<span className="shrink-0 text-xs text-muted-foreground">
<span className="min-w-0 flex-1 truncate text-xs text-muted-foreground">
{chains.length} {chains.length === 1 ? "chain" : "chains"} · {nodes.length} {nodes.length === 1 ? "node" : "nodes"}
</span>
<div className="relative shrink-0">