fix(mobile-menu): move store to head and use explicit state transitions to prevent re-opening
All checks were successful
Deploy Theme / deploy (push) Successful in 14s

This commit is contained in:
2026-02-19 20:03:51 +01:00
parent c398905f9b
commit 2e224930b5
4 changed files with 23 additions and 37 deletions

View File

@@ -22,7 +22,7 @@
</button>
</nav>
<button @click="$store.mobileMenu.toggle()" class="md:hidden p-2 rounded-full bg-[var(--bg-secondary)] text-[var(--text-primary)] hover:bg-[var(--bg-tertiary)] transition-colors duration-200">
<button @click.stop="$store.mobileMenu.openMenu()" class="md:hidden p-2 rounded-full bg-[var(--bg-secondary)] text-[var(--text-primary)] hover:bg-[var(--bg-tertiary)] transition-colors duration-200">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6">
<path stroke-linecap="round" stroke-linejoin="round" d="M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5" />
</svg>

View File

@@ -1,18 +1,12 @@
<div id="mobile-menu"
x-show="$store.mobileMenu.open"
x-transition:enter="transition ease-out duration-300"
x-transition:enter-start="-translate-x-full"
x-transition:enter-end="translate-x-0"
x-transition:leave="transition ease-in duration-300"
x-transition:leave-start="translate-x-0"
x-transition:leave-end="-translate-x-full"
class="fixed inset-0 z-50 bg-[var(--bg-primary)] flex flex-col md:hidden"
@click.away="$store.mobileMenu.close()"
x-cloak>
<!-- Mobile Menu Header -->
<div class="flex justify-between items-center p-5 flex-none">
<a href="{{@site.url}}" class="flex items-center text-[var(--text-primary)]">
<a href="{{@site.url}}" class="flex items-center text-[var(--text-primary)]" @click="$store.mobileMenu.close()">
{{#if @site.logo}}
<img src="{{@site.logo}}" alt="{{@site.title}}" class="h-10 w-auto site-logo">
{{else}}
@@ -20,7 +14,7 @@
{{/if}}
<span class="ml-3 text-xl font-bold">{{@site.title}}</span>
</a>
<button @click="$store.mobileMenu.close()" class="p-2 rounded-full bg-[var(--bg-secondary)] text-[var(--text-primary)] hover:bg-[var(--bg-tertiary)] transition-colors duration-200">
<button @click.stop="$store.mobileMenu.close()" class="p-2 rounded-full bg-[var(--bg-secondary)] text-[var(--text-primary)] hover:bg-[var(--bg-tertiary)] transition-colors duration-200">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6">
<path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" />
</svg>