From 755a0e5057245fa3a0c905ebe46727927374e016 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Kr=C3=BCger?= Date: Thu, 19 Feb 2026 21:19:34 +0100 Subject: [PATCH] fix(mobile-menu): implement persistent viewport pattern and hx-preserve for mobile menu --- default.hbs | 16 +++++++--------- partials/mobile-menu.hbs | 1 + 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/default.hbs b/default.hbs index ddb03b8..83fb1c8 100644 --- a/default.hbs +++ b/default.hbs @@ -10,13 +10,6 @@ }); document.documentElement.setAttribute('data-theme', this.theme); document.documentElement.classList.remove('hidden'); - - document.addEventListener('htmx:beforeRequest', () => { - this.mobileMenuOpen = false; - }); - }, - toggleMenu() { - this.mobileMenuOpen = !this.mobileMenuOpen; } }" :data-theme="theme" @@ -36,10 +29,15 @@ {{ghost_head}} - {{!-- Mobile menu outside boosted area --}} + + {{!-- The Mobile Menu is outside the HTMX swap container to keep state alive --}} {{> mobile-menu}} -
+ {{!-- + We target only this container for HTMX page swaps. + This keeps root Alpine state (like mobileMenuOpen) persistent. + --}} +
{{> header}}
diff --git a/partials/mobile-menu.hbs b/partials/mobile-menu.hbs index 7017492..b5f72f8 100644 --- a/partials/mobile-menu.hbs +++ b/partials/mobile-menu.hbs @@ -1,4 +1,5 @@