Skip to content

Commit e86a34f

Browse files
committed
Close menu after navigation.
1 parent 66fa08f commit e86a34f

File tree

1 file changed

+8
-11
lines changed

1 file changed

+8
-11
lines changed

frontend/src/components/SiteMenu.tsx

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -176,16 +176,13 @@ const getMenuDropown = (item: MenuItem, onClick?: () => void) => {
176176
};
177177

178178
export function SiteMenu() {
179-
// This is hacky AF. But that's the price of using a non-react UI kit.
180-
const closeMenus = () => {
181-
const navMenus = document.querySelectorAll(".nav-item.dropdown");
182-
navMenus.forEach((menu) => {
183-
menu.classList.remove("show");
184-
const dropdown = menu.querySelector(".dropdown-menu");
185-
if (dropdown) {
186-
dropdown.classList.remove("show");
187-
}
188-
});
179+
const closeMenu = () => {
180+
const navbarToggler = document.querySelector<HTMLElement>(".navbar-toggler");
181+
const navbarMenu = document.querySelector("#navbar-menu");
182+
183+
if (navbarToggler && navbarMenu?.classList.contains("show")) {
184+
navbarToggler.click();
185+
}
189186
};
190187

191188
return (
@@ -198,7 +195,7 @@ export function SiteMenu() {
198195
<ul className="navbar-nav">
199196
{menuItems.length > 0 &&
200197
menuItems.map((item) => {
201-
return getMenuItem(item, closeMenus);
198+
return getMenuItem(item, closeMenu);
202199
})}
203200
</ul>
204201
</div>

0 commit comments

Comments
 (0)