summaryrefslogtreecommitdiff
path: root/packages/frontend/src/components/MkPullToRefresh.vue
diff options
context:
space:
mode:
Diffstat (limited to 'packages/frontend/src/components/MkPullToRefresh.vue')
-rw-r--r--packages/frontend/src/components/MkPullToRefresh.vue11
1 files changed, 7 insertions, 4 deletions
diff --git a/packages/frontend/src/components/MkPullToRefresh.vue b/packages/frontend/src/components/MkPullToRefresh.vue
index 02f13a2295..8d411595fd 100644
--- a/packages/frontend/src/components/MkPullToRefresh.vue
+++ b/packages/frontend/src/components/MkPullToRefresh.vue
@@ -64,13 +64,15 @@ function getScreenY(event: TouchEvent | MouseEvent | PointerEvent): number {
// When at the top of the page, disable vertical overscroll so passive touch listeners can take over.
function lockDownScroll() {
- scrollEl!.style.touchAction = 'pan-x pan-down pinch-zoom';
- scrollEl!.style.overscrollBehavior = 'none';
+ if (scrollEl == null) return;
+ scrollEl.style.touchAction = 'pan-x pan-down pinch-zoom';
+ scrollEl.style.overscrollBehavior = 'none';
}
function unlockDownScroll() {
- scrollEl!.style.touchAction = 'auto';
- scrollEl!.style.overscrollBehavior = 'contain';
+ if (scrollEl == null) return;
+ scrollEl.style.touchAction = 'auto';
+ scrollEl.style.overscrollBehavior = 'contain';
}
function moveStart(event: PointerEvent) {
@@ -211,6 +213,7 @@ onMounted(() => {
});
onUnmounted(() => {
+ unlockDownScroll();
if (rootEl.value) rootEl.value.removeEventListener('pointerdown', moveStart);
if (rootEl.value) rootEl.value.removeEventListener('touchend', toggleScrollLockOnTouchEnd);
});