From 6470a06c57795446910614dbdc1aaeeb57d3a478 Mon Sep 17 00:00:00 2001 From: Tim Date: Thu, 22 Feb 2024 08:01:52 +0100 Subject: [PATCH] refactor(MenuProvider): close menus on resize --- src/common/Menu/MenuProvider.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/common/Menu/MenuProvider.tsx b/src/common/Menu/MenuProvider.tsx index 8dcba5c19..8b71c25c6 100644 --- a/src/common/Menu/MenuProvider.tsx +++ b/src/common/Menu/MenuProvider.tsx @@ -1,6 +1,6 @@ // Copyright (C) 2017-2024 Smart code 203358507 -import React, { useLayoutEffect, useMemo, useRef, useState } from 'react'; +import React, { useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react'; import { createPortal } from 'react-dom'; import classNames from 'classnames'; import useKeyboardEvent from '../useKeyboardEvent'; @@ -70,6 +70,11 @@ const MenuProvider = ({ children, className }: Props) => { } }, [active]); + useEffect(() => { + window.addEventListener('resize', closeAll); + return () => window.removeEventListener('resize', closeAll); + }); + useKeyboardEvent('Escape', closeAll); useOnClickOutside(container.current && active?.parent ? [container.current, active.parent] : [], closeAll);