From bb315a8cbcf8710f541e6dfc3178efd2a93ac7ac Mon Sep 17 00:00:00 2001 From: syuilo <4439005+syuilo@users.noreply.github.com> Date: Fri, 10 Jul 2026 20:22:34 +0900 Subject: [PATCH] Update MkImageGallery.item.vue --- .../src/components/MkImageGallery.item.vue | 87 +++++++++++-------- 1 file changed, 49 insertions(+), 38 deletions(-) diff --git a/packages/frontend/src/components/MkImageGallery.item.vue b/packages/frontend/src/components/MkImageGallery.item.vue index 2e6637ddc4..8f5b6bd380 100644 --- a/packages/frontend/src/components/MkImageGallery.item.vue +++ b/packages/frontend/src/components/MkImageGallery.item.vue @@ -7,44 +7,49 @@ SPDX-License-Identifier: AGPL-3.0-only
- - + + +
@@ -94,6 +99,7 @@ const emit = defineEmits<{ }>(); const rootEl = useTemplateRef('rootEl'); +const mainEl = useTemplateRef('mainEl'); const imageEl = useTemplateRef('imageEl'); const originalImageLoaded = ref(false); @@ -160,7 +166,7 @@ function zoomInTo(x: number, y: number, factor = 1.1, withAnimation = false) { const newScale = transform.value.scale * factor; isZooming.value = true; - const rect = rootEl.value.getBoundingClientRect(); + const rect = mainEl.value.getBoundingClientRect(); const offsetX = x - rect.left; const offsetY = y - rect.top; @@ -249,7 +255,7 @@ let pointerVec = { x: 0, y: 0 }; function onPointerdown(ev: PointerEvent) { pointerEventCache.set(ev.pointerId, ev); - rootEl.value.setPointerCapture(ev.pointerId); + mainEl.value.setPointerCapture(ev.pointerId); isDragging = true; isClick = true; @@ -339,7 +345,7 @@ function onPointermove(ev: PointerEvent) { function onPointerup(ev: PointerEvent) { pointerEventCache.delete(ev.pointerId); - rootEl.value.releasePointerCapture(ev.pointerId); + mainEl.value.releasePointerCapture(ev.pointerId); prevTwoTouchPointsDistance = 0; isDragging = false; if (currentPointerId === ev.pointerId) { @@ -475,6 +481,12 @@ function onCLick() {