From 21d41b24d827c172d7b21e9f1b93fe86c71e0c08 Mon Sep 17 00:00:00 2001 From: Matt Batchelder Date: Sat, 21 Feb 2026 17:06:47 -0500 Subject: [PATCH] Sync: implement menu toggle functionality to manage body overflow state --- theme/assets/css/main.css | 4 ++++ theme/assets/js/main.js | 1 + 2 files changed, 5 insertions(+) diff --git a/theme/assets/css/main.css b/theme/assets/css/main.css index 7033a67..8b325df 100644 --- a/theme/assets/css/main.css +++ b/theme/assets/css/main.css @@ -493,6 +493,10 @@ p:last-child { margin-bottom: 0; } z-index: 99; padding: 5rem 2rem 2rem; overflow-y: auto; + -webkit-overflow-scrolling: touch; + } + body.menu-open { + overflow: hidden; } .site-nav.open .nav-menu { flex-direction: column; diff --git a/theme/assets/js/main.js b/theme/assets/js/main.js index d536b0b..80f324f 100644 --- a/theme/assets/js/main.js +++ b/theme/assets/js/main.js @@ -39,6 +39,7 @@ document.addEventListener('DOMContentLoaded', () => { toggle.addEventListener('click', () => { toggle.classList.toggle('open'); nav.classList.toggle('open'); + document.body.classList.toggle('menu-open'); const expanded = toggle.getAttribute('aria-expanded') === 'true'; toggle.setAttribute('aria-expanded', !expanded); });