diff --git a/apps/web/src/components/marketing/header.tsx b/apps/web/src/components/marketing/header.tsx index 94c1a9d..315205f 100644 --- a/apps/web/src/components/marketing/header.tsx +++ b/apps/web/src/components/marketing/header.tsx @@ -24,84 +24,43 @@ export function Header() { return () => window.removeEventListener("scroll", handleScroll); }, []); + // Close mobile menu on scroll + useEffect(() => { + if (isMobileMenuOpen) { + const handleScroll = () => setIsMobileMenuOpen(false); + window.addEventListener("scroll", handleScroll); + return () => window.removeEventListener("scroll", handleScroll); + } + }, [isMobileMenuOpen]); + return ( -
-
- - - {/* Mobile Menu */} - {isMobileMenuOpen && ( -
-
+ {/* Desktop Nav */} +
{navLinks.map((link) => ( setIsMobileMenuOpen(false)} + className="text-sm text-[--color-text-secondary] hover:text-[--color-text-primary] transition-colors" + style={{ fontFamily: "var(--font-body)" }} > {link.label} ))} +
+ + {/* CTA Buttons */} +
setIsMobileMenuOpen(false)} + className="flex items-center gap-2 px-3 py-2 rounded-lg text-sm text-[--color-text-secondary] hover:text-[--color-text-primary] hover:bg-[--color-surface] transition-colors" + style={{ fontFamily: "var(--font-body)" }} > - Star on GitHub + Star -
- - -
+ + +
+ + {/* Mobile Menu Toggle */} + + +
+
+ + {/* Mobile Menu - Rendered outside header to avoid backdrop-blur containing block issue */} + {isMobileMenuOpen && ( +
+
+ {navLinks.map((link) => ( + setIsMobileMenuOpen(false)} + > + {link.label} + + ))} + setIsMobileMenuOpen(false)} + > + + + Star on GitHub + +
+ +
- )} -
- + + )} + ); }