diff options
| author | Danilo M. <danix@danix.xyz> | 2026-04-16 15:57:37 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-04-16 15:57:37 +0200 |
| commit | 80286039c0795211162b4ff4b8227f51b39fd918 (patch) | |
| tree | 244d8e61c670becc12f8309087a182fc7471cb37 /themes/danix-xyz-hacker/assets/css/main.min.css | |
| parent | a614ed818b7d435546bb86a887f97de53f019af1 (diff) | |
| download | danixxyz-80286039c0795211162b4ff4b8227f51b39fd918.tar.gz danixxyz-80286039c0795211162b4ff4b8227f51b39fd918.zip | |
fix: rewrite hamburger menu using Alpine.js event dispatcher
- Replace vanilla JS click handlers with Alpine.js @toggle-menu event
- Hamburger button dispatches toggle-menu event on click
- Menu overlay listens to toggle-menu and toggles menuOpen state
- Alpine controls visibility via :class bindings (opacity/invisible)
- Alpine controls panel slide via :class bindings (translate-x)
- All menu interactions (close button, links, ESC, backdrop) use Alpine
- Remove complex vanilla JS that wasn't working reliably
- Rebuild CSS: main.min.css updated
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Diffstat (limited to 'themes/danix-xyz-hacker/assets/css/main.min.css')
| -rw-r--r-- | themes/danix-xyz-hacker/assets/css/main.min.css | 26 |
1 files changed, 9 insertions, 17 deletions
diff --git a/themes/danix-xyz-hacker/assets/css/main.min.css b/themes/danix-xyz-hacker/assets/css/main.min.css index 36c66d1..ab1f4bb 100644 --- a/themes/danix-xyz-hacker/assets/css/main.min.css +++ b/themes/danix-xyz-hacker/assets/css/main.min.css @@ -1487,23 +1487,6 @@ article.border.border-border\/30.rounded-lg.card.group.bg-bg { /* Mobile menu overlay */ -.menu-overlay { - visibility: hidden; - position: fixed; - inset: 0px; - z-index: 40; - background-color: var(--bg); - opacity: 0; - transition-property: all; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 300ms; -} - -article.border.border-border\/30.rounded-lg.overflow-hidden.group.menu-overlay { - border-color: var(--border); - box-shadow: 0 0 20px var(--accent-glow); -} - .menu-overlay.active { visibility: visible; opacity: 1; @@ -1817,6 +1800,11 @@ article.border.border-border\/30.rounded-lg.overflow-hidden.group.menu-overlay { flex-shrink: 0; } +.translate-x-0 { + --tw-translate-x: 0px; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + .translate-x-full { --tw-translate-x: 100%; transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); @@ -2163,6 +2151,10 @@ article.border.border-border\/30.rounded-lg.overflow-hidden.group.menu-overlay { opacity: 0; } +.opacity-100 { + opacity: 1; +} + .opacity-5 { opacity: 0.05; } |
