Symbol Menu: Fix auto-closing in one-tab view

This commit is contained in:
Alexander Zinchuk 2021-06-19 13:02:30 +03:00
parent 7b12244302
commit 356ff28041
2 changed files with 4 additions and 4 deletions

View File

@ -49,7 +49,7 @@ const SymbolMenu: FC<OwnProps> = ({
const [activeTab, setActiveTab] = useState<number>(0);
const [recentEmojis, setRecentEmojis] = useState<string[]>([]);
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) {

View File

@ -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;