From 356ff28041bb0a4f54830167e475fd3271c04c2d Mon Sep 17 00:00:00 2001 From: Alexander Zinchuk Date: Sat, 19 Jun 2021 13:02:30 +0300 Subject: [PATCH] Symbol Menu: Fix auto-closing in one-tab view --- src/components/middle/composer/SymbolMenu.tsx | 2 +- src/hooks/useMouseInside.ts | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/components/middle/composer/SymbolMenu.tsx b/src/components/middle/composer/SymbolMenu.tsx index 91be71bd1..29e54c755 100644 --- a/src/components/middle/composer/SymbolMenu.tsx +++ b/src/components/middle/composer/SymbolMenu.tsx @@ -49,7 +49,7 @@ const SymbolMenu: FC = ({ const [activeTab, setActiveTab] = useState(0); const [recentEmojis, setRecentEmojis] = useState([]); - const [handleMouseEnter, handleMouseLeave] = useMouseInside(isOpen, onClose); + const [handleMouseEnter, handleMouseLeave] = useMouseInside(isOpen, onClose, undefined, IS_MOBILE_SCREEN); const { shouldRender, transitionClassNames } = useShowTransition(isOpen, onClose, false, false); if (!isActivated && isOpen) { diff --git a/src/hooks/useMouseInside.ts b/src/hooks/useMouseInside.ts index a93ea3966..1d2ee7229 100644 --- a/src/hooks/useMouseInside.ts +++ b/src/hooks/useMouseInside.ts @@ -6,7 +6,7 @@ const MENU_CLOSE_TIMEOUT = 250; let closeTimeout: number | undefined; export default function useMouseInside( - isOpen: boolean, onClose: NoneToVoidFunction, menuCloseTimeout = MENU_CLOSE_TIMEOUT, + isOpen: boolean, onClose: NoneToVoidFunction, menuCloseTimeout = MENU_CLOSE_TIMEOUT, isDisabled = false, ) { const isMouseInside = useRef(false); @@ -16,14 +16,14 @@ export default function useMouseInside( closeTimeout = undefined; } - if (isOpen && !IS_TOUCH_ENV) { + if (isOpen && !IS_TOUCH_ENV && !isDisabled) { closeTimeout = window.setTimeout(() => { if (!isMouseInside.current) { onClose(); } }, menuCloseTimeout * 2); } - }, [isOpen, menuCloseTimeout, onClose]); + }, [isDisabled, isOpen, menuCloseTimeout, onClose]); const handleMouseEnter = useCallback(() => { isMouseInside.current = true;