summaryrefslogtreecommitdiff
path: root/packages/frontend/src/components/MkPullToRefresh.vue
diff options
context:
space:
mode:
authorsyuilo <4439005+syuilo@users.noreply.github.com>2025-05-03 18:35:43 +0900
committersyuilo <4439005+syuilo@users.noreply.github.com>2025-05-03 18:35:43 +0900
commite7c170cf0ce865042066197798bfedc94eafac39 (patch)
tree73f9458e79fdbcd4e8bd96fd57b9df18fcfc09d5 /packages/frontend/src/components/MkPullToRefresh.vue
parenttweak MkPullToRefresh (diff)
downloadmisskey-e7c170cf0ce865042066197798bfedc94eafac39.tar.gz
misskey-e7c170cf0ce865042066197798bfedc94eafac39.tar.bz2
misskey-e7c170cf0ce865042066197798bfedc94eafac39.zip
tweak MkPullToRefresh
Diffstat (limited to 'packages/frontend/src/components/MkPullToRefresh.vue')
-rw-r--r--packages/frontend/src/components/MkPullToRefresh.vue13
1 files changed, 8 insertions, 5 deletions
diff --git a/packages/frontend/src/components/MkPullToRefresh.vue b/packages/frontend/src/components/MkPullToRefresh.vue
index 4910f34a1f..02f13a2295 100644
--- a/packages/frontend/src/components/MkPullToRefresh.vue
+++ b/packages/frontend/src/components/MkPullToRefresh.vue
@@ -4,7 +4,7 @@ SPDX-License-Identifier: AGPL-3.0-only
-->
<template>
-<div ref="rootEl">
+<div ref="rootEl" :class="isPulling ? $style.isPulling : null">
<div v-if="isPulling" :class="$style.frame" :style="`--frame-min-height: ${pullDistance / (PULL_BRAKE_BASE + (pullDistance / PULL_BRAKE_FACTOR))}px;`">
<div :class="$style.frameContent">
<MkLoading v-if="isRefreshing" :class="$style.loader" :em="true"/>
@@ -204,20 +204,23 @@ function refreshFinished() {
onMounted(() => {
if (rootEl.value == null) return;
-
scrollEl = getScrollContainer(rootEl.value);
-
+ lockDownScroll();
rootEl.value.addEventListener('pointerdown', moveStart, { passive: true });
rootEl.value.addEventListener('touchend', toggleScrollLockOnTouchEnd, { passive: true });
});
onUnmounted(() => {
- rootEl.value.removeEventListener('pointerdown', moveStart);
- rootEl.value.removeEventListener('touchend', toggleScrollLockOnTouchEnd);
+ if (rootEl.value) rootEl.value.removeEventListener('pointerdown', moveStart);
+ if (rootEl.value) rootEl.value.removeEventListener('touchend', toggleScrollLockOnTouchEnd);
});
</script>
<style lang="scss" module>
+.isPulling {
+ will-change: contents;
+}
+
.frame {
position: relative;
overflow: clip;