diff options
| author | Danilo M. <danix@danix.xyz> | 2026-04-16 15:59:51 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-04-16 15:59:51 +0200 |
| commit | 13df7e27dba8ebaecd56ffb2c560015360776dc7 (patch) | |
| tree | 9b0ebca6d5b657e681ae0e844cf3c5801389536f /themes/danix-xyz-hacker/layouts/partials/hamburger-menu.html | |
| parent | 80286039c0795211162b4ff4b8227f51b39fd918 (diff) | |
| download | danixxyz-13df7e27dba8ebaecd56ffb2c560015360776dc7.tar.gz danixxyz-13df7e27dba8ebaecd56ffb2c560015360776dc7.zip | |
fix: prevent menu flicker when navigating to new page
- Add beforeunload event listener to close menu before page navigation
- This prevents the menu from briefly appearing on the new page
- Menu state is explicitly set to false before unload
- Rebuild CSS: main.min.css updated
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Diffstat (limited to 'themes/danix-xyz-hacker/layouts/partials/hamburger-menu.html')
| -rw-r--r-- | themes/danix-xyz-hacker/layouts/partials/hamburger-menu.html | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/themes/danix-xyz-hacker/layouts/partials/hamburger-menu.html b/themes/danix-xyz-hacker/layouts/partials/hamburger-menu.html index 02e6d0d..caa6c6d 100644 --- a/themes/danix-xyz-hacker/layouts/partials/hamburger-menu.html +++ b/themes/danix-xyz-hacker/layouts/partials/hamburger-menu.html @@ -73,18 +73,11 @@ </div> <script> - // Make menuOpen accessible from the menu toggle button - document.addEventListener('DOMContentLoaded', () => { - const menuToggle = document.getElementById('menu-toggle'); - if (menuToggle && window.__alpineInstances) { - menuToggle.addEventListener('click', (e) => { - e.preventDefault(); - // Find the Alpine component and toggle it - const overlay = document.querySelector('[x-data*="menuOpen"]'); - if (overlay && overlay.__x) { - overlay.__x.$data.menuOpen = !overlay.__x.$data.menuOpen; - } - }); + // Close menu before page navigation to prevent flicker + window.addEventListener('beforeunload', () => { + const overlay = document.querySelector('[x-data*="menuOpen"]'); + if (overlay && overlay.__x) { + overlay.__x.$data.menuOpen = false; } }); </script> |
