diff options
author | Hailey <me@haileyok.com> | 2024-06-06 06:28:02 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-06 14:28:02 +0100 |
commit | 72f46ed7349f5044d7b89fc8c7f5414b0805a67b (patch) | |
tree | 8ec2cbd1d1c3ef001db4f6d6c0363a32d6066dc9 /src/view | |
parent | 85e676257ec590b7fb05d9cc1e7ac352d7d89c09 (diff) | |
download | voidsky-72f46ed7349f5044d7b89fc8c7f5414b0805a67b.tar.zst |
cancel animations before updating value for min-shell animation (#4386)
* cancel animations before updating value * comment
Diffstat (limited to 'src/view')
-rw-r--r-- | src/view/com/util/MainScrollProvider.tsx | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/view/com/util/MainScrollProvider.tsx b/src/view/com/util/MainScrollProvider.tsx index f45229dc4..b602da432 100644 --- a/src/view/com/util/MainScrollProvider.tsx +++ b/src/view/com/util/MainScrollProvider.tsx @@ -1,6 +1,10 @@ import React, {useCallback, useEffect} from 'react' import {NativeScrollEvent} from 'react-native' -import {interpolate, useSharedValue} from 'react-native-reanimated' +import { + cancelAnimation, + interpolate, + useSharedValue, +} from 'react-native-reanimated' import EventEmitter from 'eventemitter3' import {ScrollProvider} from '#/lib/ScrollContext' @@ -117,6 +121,8 @@ export function MainScrollProvider({children}: {children: React.ReactNode}) { const newValue = clamp(startMode.value + dProgress, 0, 1) if (newValue !== mode.value) { // Manually adjust the value. This won't be (and shouldn't be) animated. + // Cancel any any existing animation + cancelAnimation(mode) mode.value = newValue } } else { |