From a5d3c73e7a3f3dbd8085112c565682a002d16b63 Mon Sep 17 00:00:00 2001 From: amosblomqvist Date: Sun, 13 Sep 2026 00:46:31 +0300 Subject: [PATCH] Wave-5 refinement round 1 (owner's five fixes) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - New session: literal '+' glyph removed — one lucide PlusIcon (the duplicated glyph was PlusIcon + text '+'). - Top bar: a small pointer-events-none gradient under the header eases the scroller into the bar exactly like the dock's bottom fade. - Option subtext (opt.description): .lh-prose — Source Sans 3; 'I don't know' copy stays JetBrains Mono. - 'I don't know': now layout-matched with a radio circle; dashed border preserved as the deliberate non-answer. - Separator spacing: options group pb-1 → pb-2 so the gap before the divider equals the 8px inter-option gap. --- components/chat.tsx | 8 +++++++- components/question-dock.tsx | 26 +++++++++++++++++++++----- components/sidebar.tsx | 2 +- 3 files changed, 29 insertions(+), 7 deletions(-) diff --git a/components/chat.tsx b/components/chat.tsx index bd96478..71495e6 100644 --- a/components/chat.tsx +++ b/components/chat.tsx @@ -464,10 +464,16 @@ export function Chat({ {/* h-10, not py-2: the toggle (a size-9 icon button) renders only while the sidebar is CLOSED — an auto-height row would collapse when it disappears and slide the title + chip up. */} -
+
{title}
+ {/* Soft top fade (owner): the scroller edge under the header eases + in exactly like the dock gradient at the bottom. */} +
diff --git a/components/question-dock.tsx b/components/question-dock.tsx index bb7c3e7..65ef187 100644 --- a/components/question-dock.tsx +++ b/components/question-dock.tsx @@ -284,7 +284,7 @@ function QuestionDockForm({ )} {qd.mode !== "text" && ( -
+
{qd.options.map((opt, i) => { const isSel = sel.selected.has(i); return ( @@ -314,7 +314,11 @@ function QuestionDockForm({ {opt.label} - {opt.description && {opt.description}} + {opt.description && ( + // Option subtext renders in Source Sans 3 (owner's mockup); + // the "I don't know" copy stays JetBrains Mono. + {opt.description} + )} ); @@ -328,11 +332,23 @@ function QuestionDockForm({ } aria-pressed={sel.dontKnow} className={cn( - "rounded-lg border border-dashed px-3 py-2 text-left text-sm text-muted-foreground transition-colors", - sel.dontKnow && "border-primary text-foreground", + // Option-row layout + radio circle (owner); the dashed + // outline stays — this is the deliberate non-answer. + "flex items-start gap-3 rounded-lg border border-dashed px-3 py-2 text-left text-sm transition-colors", + sel.dontKnow ? "border-primary text-foreground" : "text-muted-foreground", )} > - I don't know + + {sel.dontKnow && } + + I don't know )} diff --git a/components/sidebar.tsx b/components/sidebar.tsx index a527ff3..d2913d5 100644 --- a/components/sidebar.tsx +++ b/components/sidebar.tsx @@ -248,7 +248,7 @@ function SessionsSidebar() { className="mx-3 mb-1 flex items-center gap-1.5 rounded-md px-2 py-1.5 text-xs uppercase tracking-wider text-muted-foreground transition-colors hover:bg-accent hover:text-foreground" > - + New session + New session create a new session