From 44786455b47f3fa0c5b8897e962b6c1a00796c8d Mon Sep 17 00:00:00 2001 From: mkelvers Date: Sat, 6 Jun 2026 16:54:11 +0200 Subject: [PATCH] refactor: streamline mobile menu with event delegation --- static/shell.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/static/shell.ts b/static/shell.ts index aacfa13..8d7efd2 100644 --- a/static/shell.ts +++ b/static/shell.ts @@ -67,11 +67,12 @@ const initMobileMenu = (): void => { closeMenu(); }); - menu.querySelectorAll("a, button").forEach((el) => { - el.addEventListener("click", () => { - if (!isMobileViewport()) return; - closeMenu(); - }); + menu.addEventListener("click", (event) => { + const target = event.target; + if (!(target instanceof Element)) return; + if (!target.closest("a, button")) return; + if (!isMobileViewport()) return; + closeMenu(); }); window.addEventListener("resize", () => {