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) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
7ec2127b85
commit
e766564f34
@@ -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({
|
||||
<button
|
||||
onClick={() => onSelectConversation(conv.id)}
|
||||
onMouseEnter={() => setHoveredId(conv.id)}
|
||||
onMouseLeave={() => { setHoveredId(null); if (menuOpenId === conv.id) setMenuOpenId(null); }}
|
||||
onMouseLeave={() => setHoveredId(null)}
|
||||
className={cn(
|
||||
"w-full flex items-center justify-between px-3 py-2.5 rounded-xl text-sm text-left transition-colors duration-150 cursor-pointer group",
|
||||
activeConversationId === conv.id
|
||||
|
||||
Reference in New Issue
Block a user