diff --git a/app/[lang]/components/HamburgerMenu.tsx b/app/[lang]/components/HamburgerMenu.tsx index 318d751..528f66c 100644 --- a/app/[lang]/components/HamburgerMenu.tsx +++ b/app/[lang]/components/HamburgerMenu.tsx @@ -49,7 +49,6 @@ const HamburgerMenu = ({ menuTimeout, }); - // noinspection HtmlUnknownTarget return (
{ const pages = ["tournois", "qui sommes-nous", "contactez-nous"]; diff --git a/hooks/useHamburgerClose.ts b/hooks/useHamburgerClose.ts index a26e6ae..73277cc 100644 --- a/hooks/useHamburgerClose.ts +++ b/hooks/useHamburgerClose.ts @@ -1,5 +1,3 @@ -// TODO is this really a hook? I think it is more of a util function - interface HamburgerClose { menuVisible: boolean; setMenuVisible: Dispatch>; @@ -36,10 +34,22 @@ const useHamburgerClose = ({ setMouseOverMenu(false); } }; + + const handleLinkClick = () => { + setMenuVisible(false); + }; + document.addEventListener("mousedown", handleMouseDownOutsideMenu); + const links = document.querySelectorAll("a"); + links.forEach((link) => { + link.addEventListener("click", handleLinkClick); + }); return () => { document.removeEventListener("mousedown", handleMouseDownOutsideMenu); + links.forEach((link) => { + link.removeEventListener("click", handleLinkClick); + }); }; }, [menuVisible]);