From 11dd86c49b4c53c8cd286f804d26fb126cac6d8c Mon Sep 17 00:00:00 2001 From: ZGaetano Date: Sat, 30 May 2026 10:22:28 -0400 Subject: [PATCH] fix: model dropdown items clickable (onMouseDown + raise z-index above messages pane) --- .../view/subcomponents/ModelSelectorBar.tsx | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/components/chat/view/subcomponents/ModelSelectorBar.tsx b/src/components/chat/view/subcomponents/ModelSelectorBar.tsx index 838d4cd..9a8ae3b 100644 --- a/src/components/chat/view/subcomponents/ModelSelectorBar.tsx +++ b/src/components/chat/view/subcomponents/ModelSelectorBar.tsx @@ -72,7 +72,7 @@ export default function ModelSelectorBar({ ? options.filter((o) => o.label.toLowerCase().includes(search.toLowerCase())) : options; - // Close on outside click + // Close on outside click (use click, not mousedown, so item selection fires first) useEffect(() => { if (!open) return; const handler = (e: MouseEvent) => { @@ -81,8 +81,8 @@ export default function ModelSelectorBar({ setSearch(''); } }; - document.addEventListener('mousedown', handler); - return () => document.removeEventListener('mousedown', handler); + document.addEventListener('click', handler); + return () => document.removeEventListener('click', handler); }, [open]); useEffect(() => { @@ -103,7 +103,7 @@ export default function ModelSelectorBar({ }; return ( -
+
{/* Left: provider label */}
@@ -123,13 +123,14 @@ export default function ModelSelectorBar({ {open && ( -
+
setSearch(e.target.value)} + onClick={(e) => e.stopPropagation()} placeholder="Search models..." className="w-full rounded-lg bg-muted/50 px-2.5 py-1.5 text-xs text-foreground placeholder:text-muted-foreground/50 outline-none border border-border/40 focus:border-border" /> @@ -142,8 +143,13 @@ export default function ModelSelectorBar({