const stickyClasses = ["fixed", "h-14"]; const unstickyClasses = ["absolute", "h-20"]; const stickyClassesContainer = [ "border-neutral-300/50", "bg-white/80", "dark:border-neutral-600/40", "dark:bg-neutral-900/60", "backdrop-blur-2xl", ]; const unstickyClassesContainer = ["border-transparent"]; let headerElement = null; document.addEventListener("DOMContentLoaded", () => { headerElement = document.getElementById("header"); stickyHeaderFuncionality(); applyMenuItemClasses(); evaluateHeaderPosition(); mobileMenuFunctionality(); }); window.stickyHeaderFuncionality = () => { window.addEventListener("scroll", () => { evaluateHeaderPosition(); }); }; window.evaluateHeaderPosition = () => { if (window.scrollY > 16) { headerElement.firstElementChild.classList.add(...stickyClassesContainer); headerElement.firstElementChild.classList.remove( ...unstickyClassesContainer, ); headerElement.classList.add(...stickyClasses); headerElement.classList.remove(...unstickyClasses); document.getElementById("menu").classList.add("top-[56px]"); document.getElementById("menu").classList.remove("top-[75px]"); } else { headerElement.firstElementChild.classList.remove(...stickyClassesContainer); headerElement.firstElementChild.classList.add(...unstickyClassesContainer); headerElement.classList.add(...unstickyClasses); headerElement.classList.remove(...stickyClasses); document.getElementById("menu").classList.remove("top-[56px]"); document.getElementById("menu").classList.add("top-[75px]"); } }; window.applyMenuItemClasses = () => { const menuItems = document.querySelectorAll("#menu a"); for (let i = 0; i < menuItems.length; i++) { if (menuItems[i].pathname === window.location.pathname) { menuItems[i].classList.add("text-neutral-900", "dark:text-white"); } } }; function mobileMenuFunctionality() { document.getElementById("openMenu").addEventListener("click", () => { openMobileMenu(); }); document.getElementById("closeMenu").addEventListener("click", () => { closeMobileMenu(); }); } window.openMobileMenu = () => { document.getElementById("openMenu").classList.add("hidden"); document.getElementById("closeMenu").classList.remove("hidden"); document.getElementById("menu").classList.remove("hidden"); document.getElementById("mobileMenuBackground").classList.add("opacity-0"); document.getElementById("mobileMenuBackground").classList.remove("hidden"); setTimeout(() => { document .getElementById("mobileMenuBackground") .classList.remove("opacity-0"); }, 1); }; window.closeMobileMenu = () => { document.getElementById("closeMenu").classList.add("hidden"); document.getElementById("openMenu").classList.remove("hidden"); document.getElementById("menu").classList.add("hidden"); document.getElementById("mobileMenuBackground").classList.add("hidden"); };