From 04aad0959014aa9e0760aec96d31dcf439f8fee9 Mon Sep 17 00:00:00 2001 From: Josh Perez <60019601+josh-signal@users.noreply.github.com> Date: Thu, 16 Sep 2021 17:51:57 -0400 Subject: [PATCH] Fixes contextmenu hover glitch --- patches/react-contextmenu+2.11.0.patch | 10 ++++++---- stylesheets/_modules.scss | 4 +++- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/patches/react-contextmenu+2.11.0.patch b/patches/react-contextmenu+2.11.0.patch index 07e90476d7..07c6b4de13 100644 --- a/patches/react-contextmenu+2.11.0.patch +++ b/patches/react-contextmenu+2.11.0.patch @@ -1,20 +1,22 @@ diff --git a/node_modules/react-contextmenu/modules/ContextMenu.js b/node_modules/react-contextmenu/modules/ContextMenu.js -index 622a1f9..61c8e70 100644 +index 622a1f9..9fc87ea 100644 --- a/node_modules/react-contextmenu/modules/ContextMenu.js +++ b/node_modules/react-contextmenu/modules/ContextMenu.js @@ -226,6 +226,9 @@ var ContextMenu = function (_AbstractMenu) { - + if (this.state.isVisible) { var wrapper = window.requestAnimationFrame || setTimeout; + if (!this.previousFocus) { + this.previousFocus = document.activeElement; + } - + wrapper(function () { var _state = _this2.state, -@@ -242,12 +245,19 @@ var ContextMenu = function (_AbstractMenu) { +@@ -241,13 +244,21 @@ var ContextMenu = function (_AbstractMenu) { + _this2.menu.style.top = top + 'px'; _this2.menu.style.left = left + 'px'; _this2.menu.style.opacity = 1; ++ _this2.menu.style.visibility = 'visible'; _this2.menu.style.pointerEvents = 'auto'; + + _this2.menu.focus(); diff --git a/stylesheets/_modules.scss b/stylesheets/_modules.scss index e16ef0ce95..17fad730ee 100644 --- a/stylesheets/_modules.scss +++ b/stylesheets/_modules.scss @@ -9175,6 +9175,7 @@ $contact-modal-padding: 18px; padding: 6px 0; opacity: 0; user-select: none; + visibility: hidden; @include light-theme { background-color: $color-white; @@ -9185,8 +9186,9 @@ $contact-modal-padding: 18px; } .react-contextmenu--visible { - z-index: 1000; opacity: 1; + visibility: visible; + z-index: 1000; } .react-contextmenu-item {