From 5e9074605dbd6bbb0b14e039cc44637330aa0c4d Mon Sep 17 00:00:00 2001 From: Alex Blank Date: Thu, 27 Aug 2026 23:37:47 +0200 Subject: [PATCH] feat(quick-pane): add compact runtime controls --- test/quick-pane-ui.test.js | 47 +- ui/src-tauri/src/lib.rs | 31 +- ui/src/App.css | 35 -- ui/src/components/ConversationWorkspace.tsx | 26 +- ui/src/components/ThinkingSelector.css | 46 ++ ui/src/components/ThinkingSelector.test.tsx | 27 ++ ui/src/components/ThinkingSelector.tsx | 40 ++ ui/src/quick-pane/QuickPane.test.tsx | 513 +++++++++++++++++--- ui/src/quick-pane/QuickPane.tsx | 492 +++++++++++++++---- ui/src/quick-pane/quick-pane.css | 60 ++- 10 files changed, 1090 insertions(+), 227 deletions(-) create mode 100644 ui/src/components/ThinkingSelector.css create mode 100644 ui/src/components/ThinkingSelector.test.tsx create mode 100644 ui/src/components/ThinkingSelector.tsx diff --git a/test/quick-pane-ui.test.js b/test/quick-pane-ui.test.js index 07f1819..629082e 100644 --- a/test/quick-pane-ui.test.js +++ b/test/quick-pane-ui.test.js @@ -51,26 +51,30 @@ test("main Settings uses shared catalog selectors with provider derived from mod assert.doesNotMatch(pane, /showSettings/); assert.doesNotMatch(pane, /Save Quick Pane settings/); assert.match(pane, /!snapshotIsActive\(snapshot\)/); - assert.match(pane, /current === submitted\.request \? "" : current/); + assert.match(pane, /if \(current !== submitted\.request\) return current;/); + assert.match(pane, /inputSelectionRef\.current = undefined;/); + assert.match(pane, /input\.setSelectionRange\(/); + assert.match(pane, /onSelect=\{\(event\) => recordInputSelection/); + assert.match(pane, /onInput=\{\(event\) => recordInputChangeSelection/); + assert.match(pane, /