ui: round 5 — AGENT'S THINKING buys the 3ch rail; the standard chord; dashed model names

- THE 3CH RAIL: 'AGENT’S THINKING' (16ch, flush) − 'YOUR THINKING' (13ch)
  = 3ch of mono — the rail widens to 3ch (border + padding), keeping the
  chevrons aligned while giving the quote room to breathe (the 1ch rail
  read cramped). YOU row follows.
- THE STANDARD CHORD everywhere: Enter submits, Shift+Enter is a
  newline, ⌘/Ctrl+Enter works too — the teaching thinking field drops
  the ⌘-only Gmail convention; the hint reads '↵ submits · ⇧↵ newline'
  in both docks, shown in text mode too (it Enter-submits as well).
- The transcript-end optimistic placeholder joins the register: small
  mono caps THINKING… (was text-sm sentence case).
- Model names keep their dashes: prettyModel renders 'glm-5.3-flash'
  exactly as written (no auto-caps, no dash→space join).
This commit is contained in:
amosblomqvist
2026-10-05 04:55:59 +03:00
parent d533585bd1
commit 3e402d3c35
5 changed files with 20 additions and 19 deletions
+4 -4
View File
@@ -1259,7 +1259,7 @@ export function Chat({
User text renders plain — the model's LaTeX pipeline is not
applied to learner-authored text ($ stays $, no surprises).
Rendered WITHOUT the Message wrapper — that is the bubble. */
<div data-testid="user-message" className="my-1 w-full border-l-2 border-muted-foreground/30 pl-[calc(1ch-2px)] font-ui text-xs">
<div data-testid="user-message" className="my-1 w-full border-l-2 border-muted-foreground/30 pl-[calc(3ch-2px)] font-ui text-xs">
{/* The rail GROUPS (owner round 4, 2026-10-05): the YOU heading
sits INSIDE the rail, same mono-xs register and same 1ch
rail as the thinking rows — one quote geometry. */}
@@ -1365,10 +1365,10 @@ export function Chat({
entered by external discovery (wake) / the poll
fallback. Never collapsible itself. */}
{(status === "submitted" || turnInFlight) && (
<span className="flex items-center gap-2">
<span className="flex items-center gap-2 font-ui text-xs font-medium uppercase tracking-wide text-muted-foreground">
<BrailleSpinner label="Thinking" />
<Shimmer duration={1} className="text-sm">
Thinking…
<Shimmer duration={1}>
THINKING…
</Shimmer>
</span>
)}