From 892e40c87e1bdecee27cd8042d44226e9d41cd5f Mon Sep 17 00:00:00 2001 From: Fedor Katurov Date: Sat, 21 Nov 2020 09:51:55 +0700 Subject: [PATCH] fixed scroll locks on SidebarWrapper --- src/containers/dialogs/BetterScrollDialog/index.tsx | 3 +++ src/containers/sidebars/SidebarWrapper/index.tsx | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/containers/dialogs/BetterScrollDialog/index.tsx b/src/containers/dialogs/BetterScrollDialog/index.tsx index 974702d3..4f9708a8 100644 --- a/src/containers/dialogs/BetterScrollDialog/index.tsx +++ b/src/containers/dialogs/BetterScrollDialog/index.tsx @@ -3,6 +3,7 @@ import styles from "./styles.module.scss"; import { clearAllBodyScrollLocks, disableBodyScroll } from "body-scroll-lock"; import { Icon } from "~/components/input/Icon"; import { LoaderCircle } from "~/components/input/LoaderCircle"; +import { useCloseOnEscape } from "~/utils/hooks"; interface IProps { children: React.ReactChild; @@ -39,6 +40,8 @@ const BetterScrollDialog: FC = ({ return () => clearAllBodyScrollLocks(); }, [ref]); + useCloseOnEscape(onClose); + return (
{backdrop &&
{backdrop}
} diff --git a/src/containers/sidebars/SidebarWrapper/index.tsx b/src/containers/sidebars/SidebarWrapper/index.tsx index 681488c4..22337760 100644 --- a/src/containers/sidebars/SidebarWrapper/index.tsx +++ b/src/containers/sidebars/SidebarWrapper/index.tsx @@ -1,7 +1,7 @@ import React, { FC, useEffect, useRef } from 'react'; import styles from './styles.module.scss'; import { createPortal } from 'react-dom'; -import { disableBodyScroll, enableBodyScroll } from 'body-scroll-lock'; +import { disableBodyScroll, clearAllBodyScrollLocks } from 'body-scroll-lock'; import { useCloseOnEscape } from '~/utils/hooks'; interface IProps { @@ -17,7 +17,7 @@ const SidebarWrapper: FC = ({ children, onClose }) => { if (!ref.current) return; disableBodyScroll(ref.current, { reserveScrollBarGap: true }); - return () => enableBodyScroll(ref.current); + return () => clearAllBodyScrollLocks(); }, [ref.current]); return createPortal(