fix: mobile img viewer scroll issue

the3ash committed Jul 12, 2025 at 00:34 UTC f4f8e82399d487d59554d2f5cc3244402376022f
1 file changed +12
src/components/ui/ImageViewer.astro
+12
@@ -18,6 +18,7 @@
18 viewer?.classList.add('active')
19 document.body.classList.add('image-viewer-open')
20 document.body.style.overflow = 'hidden'
21 + document.body.dataset.scrollY = window.scrollY.toString()
22 if (viewer) {
23 viewer.style.cursor = 'auto'
24 setTimeout(() => {
@@ -59,6 +60,17 @@
60
61 viewer?.addEventListener('click', hideImage)
62
63 + // Prevent touch scroll in image viewer
64 + viewer?.addEventListener(
65 + 'touchmove',
66 + (e) => {
67 + if (viewer.classList.contains('active')) {
68 + e.preventDefault()
69 + }
70 + },
71 + { passive: false }
72 + )
73 +
74 document.addEventListener('keydown', (e) => {
75 if (e.key === 'Escape' && viewer.classList.contains('active')) {
76 hideImage()