From b6e6cc2549cdafb226f063a64b0410f2499c8b44 Mon Sep 17 00:00:00 2001 From: chark1es Date: Sat, 8 Feb 2025 06:25:09 -0800 Subject: [PATCH] Resets mobile navbar on close --- src/components/core/Navbar.astro | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/components/core/Navbar.astro b/src/components/core/Navbar.astro index 7ec4f8f..40f2110 100644 --- a/src/components/core/Navbar.astro +++ b/src/components/core/Navbar.astro @@ -302,8 +302,29 @@ import pages from "../../data/pages.json"; closeIcon?.classList.add("hidden"); document.body.style.overflow = ""; + // First wait for the navbar to slide out setTimeout(() => { mobileMenu?.classList.add("hidden"); + + // Then reset all dropdowns and focus states + document + .querySelectorAll(".dropdown-container") + .forEach((el) => { + const dropdownContent = el.querySelector( + ".mobile-dropdown-content" + ); + const dropdownToggle = el.querySelector( + ".mobile-dropdown-toggle" + ); + const dropdownIcon = + dropdownToggle?.querySelector(".dropdown-icon"); + + el.classList.remove("active"); + dropdownContent?.classList.remove("show"); + dropdownIcon?.classList.remove("rotated"); + dropdownToggle?.setAttribute("aria-expanded", "false"); + }); + mobileMenu?.classList.remove("has-active-dropdown"); }, 300); } }