From 5d419a02115944e29c0e2689e9e04b138c244a67 Mon Sep 17 00:00:00 2001 From: David Hill Date: Fri, 27 Feb 2026 21:30:49 +0000 Subject: [PATCH] tweak(ui): expand question dock toggle area --- .../composer/session-question-dock.tsx | 29 +++++++++++++++---- packages/ui/src/components/dock-prompt.tsx | 5 ++-- 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/packages/app/src/pages/session/composer/session-question-dock.tsx b/packages/app/src/pages/session/composer/session-question-dock.tsx index 65d570a748..9397171164 100644 --- a/packages/app/src/pages/session/composer/session-question-dock.tsx +++ b/packages/app/src/pages/session/composer/session-question-dock.tsx @@ -233,10 +233,25 @@ export const SessionQuestionDock: Component<{ request: QuestionRequest; onSubmit setStore("editing", false) } + const click = (target: EventTarget | null) => { + if (store.sending) return + if (!(target instanceof Node)) { + fold() + return + } + + const list = root?.querySelector('[data-slot="question-options"]') + if (list instanceof HTMLElement && list.contains(target)) return + fold() + } + return ( (root = el)} + bodyProps={{ + onClick: (event) => click(event.target), + }} header={
{ + event.stopPropagation() + fold() + }} onKeyDown={(event) => { if (event.key !== "Enter" && event.key !== " ") return event.preventDefault() @@ -296,13 +314,14 @@ export const SessionQuestionDock: Component<{ request: QuestionRequest; onSubmit classList={{ "mb-6": store.collapsed && picked() === 0, }} - role={store.collapsed ? "button" : undefined} - tabIndex={store.collapsed ? 0 : undefined} - onClick={fold} + onClick={(event) => { + event.stopPropagation() + fold() + }} onKeyDown={(event) => { - if (!store.collapsed) return if (event.key !== "Enter" && event.key !== " ") return event.preventDefault() + event.stopPropagation() fold() }} > diff --git a/packages/ui/src/components/dock-prompt.tsx b/packages/ui/src/components/dock-prompt.tsx index d774e7f17a..3f180679d5 100644 --- a/packages/ui/src/components/dock-prompt.tsx +++ b/packages/ui/src/components/dock-prompt.tsx @@ -1,4 +1,4 @@ -import type { JSX } from "solid-js" +import type { ComponentProps, JSX } from "solid-js" import { DockShell, DockTray } from "./dock-surface" export function DockPrompt(props: { @@ -7,12 +7,13 @@ export function DockPrompt(props: { children: JSX.Element footer: JSX.Element ref?: (el: HTMLDivElement) => void + bodyProps?: Omit, "children"> }) { const slot = (name: string) => `${props.kind}-${name}` return (
- +
{props.header}
{props.children}