From e766564f34b8af5cc8b030c515602fcdd0f73e9d Mon Sep 17 00:00:00 2001 From: gongzhiyong Date: Wed, 8 Apr 2026 20:31:59 +0800 Subject: [PATCH] fix: sidebar menu closes on mouseLeave before user can click option - Remove menu close from onMouseLeave (was closing before user reaches dropdown) - Add global document click listener to close menu when clicking outside Co-Authored-By: Claude Sonnet 4.6 (1M context) --- frontend/components/gemini/GeminiSidebar.tsx | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/frontend/components/gemini/GeminiSidebar.tsx b/frontend/components/gemini/GeminiSidebar.tsx index 0138205..cd2780d 100644 --- a/frontend/components/gemini/GeminiSidebar.tsx +++ b/frontend/components/gemini/GeminiSidebar.tsx @@ -67,6 +67,13 @@ export function GeminiSidebar({ } }, [renamingId]); + useEffect(() => { + if (!menuOpenId) return; + const close = () => setMenuOpenId(null); + document.addEventListener("click", close); + return () => document.removeEventListener("click", close); + }, [menuOpenId]); + const handleMenuClick = useCallback((e: React.MouseEvent, convId: string) => { e.stopPropagation(); setMenuOpenId((prev) => (prev === convId ? null : convId)); @@ -150,7 +157,7 @@ export function GeminiSidebar({