Implemented useListenClickOutside V2 (#3507)

* Implemented useListenClickOutside V2

* Removed lock and implemented a toggle instead
This commit is contained in:
Lucas Bordeau
2024-01-17 16:22:22 +01:00
committed by GitHub
parent 808100fdd5
commit bbfe62df9a
10 changed files with 303 additions and 5 deletions

View File

@ -5,11 +5,10 @@ import { motion } from 'framer-motion';
import { useRecoilState } from 'recoil';
import { Key } from 'ts-key-enum';
import { RIGHT_DRAWER_CLICK_OUTSIDE_LISTENER_ID } from '@/ui/layout/right-drawer/constants/RightDrawerClickOutsideListener';
import { useScopedHotkeys } from '@/ui/utilities/hotkey/hooks/useScopedHotkeys';
import {
ClickOutsideMode,
useListenClickOutside,
} from '@/ui/utilities/pointer-event/hooks/useListenClickOutside';
import { useClickOutsideListener } from '@/ui/utilities/pointer-event/hooks/useClickOutsideListener';
import { ClickOutsideMode } from '@/ui/utilities/pointer-event/hooks/useListenClickOutside';
import { useIsMobile } from '@/ui/utilities/responsive/hooks/useIsMobile';
import { isDefined } from '~/utils/isDefined';
@ -53,6 +52,10 @@ export const RightDrawer = () => {
const rightDrawerRef = useRef<HTMLDivElement>(null);
const { useListenClickOutside } = useClickOutsideListener(
RIGHT_DRAWER_CLICK_OUTSIDE_LISTENER_ID,
);
useListenClickOutside({
refs: [rightDrawerRef],
callback: () => closeRightDrawer(),

View File

@ -0,0 +1,2 @@
export const RIGHT_DRAWER_CLICK_OUTSIDE_LISTENER_ID =
'right-drawer-click-outside-listener';