From 335dcdec7e552c8bb3dff23a44041d9ee969e6c7 Mon Sep 17 00:00:00 2001 From: tianma-if Date: Sat, 29 Aug 2026 00:41:51 +0800 Subject: [PATCH] fix(site): replace broken astro-navbar dropdown with native details menu --- .../site/src/components/navbar/dropdown.astro | 62 +++++++++---------- apps/site/src/components/navbar/navbar.astro | 7 +++ 2 files changed, 36 insertions(+), 33 deletions(-) diff --git a/apps/site/src/components/navbar/dropdown.astro b/apps/site/src/components/navbar/dropdown.astro index 248fb177..b88cd03b 100644 --- a/apps/site/src/components/navbar/dropdown.astro +++ b/apps/site/src/components/navbar/dropdown.astro @@ -1,12 +1,12 @@ --- -import { Dropdown as DropdownContainer, DropdownItems } from "astro-navbar"; const { title, lastItem, children } = Astro.props; --- -
  • - - - -
    -
    - { - children.map((item) => ( - - {item.title} - - )) - } -
    + + +
    +
    + { + children.map((item) => ( + + {item.title} + + )) + }
    - - +
    +
  • diff --git a/apps/site/src/components/navbar/navbar.astro b/apps/site/src/components/navbar/navbar.astro index f0cb20c8..3b8e3dd6 100644 --- a/apps/site/src/components/navbar/navbar.astro +++ b/apps/site/src/components/navbar/navbar.astro @@ -194,6 +194,13 @@ const menuitems = [ if (closeIcon) closeIcon.classList.add("hidden"); } } + + // Close all open
    menus when clicking outside + document.querySelectorAll("header details[open]").forEach(function (details) { + if (!details.contains(e.target)) { + details.removeAttribute("open"); + } + }); }); })();