6187e79b0e
Co-authored-by: Eric Bailey <git@esb.lol>
39 lines
1.3 KiB
Diff
39 lines
1.3 KiB
Diff
diff --git a/node_modules/react-native-drawer-layout/lib/module/views/Drawer.native.js b/node_modules/react-native-drawer-layout/lib/module/views/Drawer.native.js
|
|
index 40fdcdb..770fd67 100644
|
|
--- a/node_modules/react-native-drawer-layout/lib/module/views/Drawer.native.js
|
|
+++ b/node_modules/react-native-drawer-layout/lib/module/views/Drawer.native.js
|
|
@@ -124,15 +124,21 @@ export function Drawer({
|
|
}
|
|
onTransitionEnd?.(!open);
|
|
});
|
|
+ const animatingTo = useSharedValue(null)
|
|
const toggleDrawer = React.useCallback((open, velocity) => {
|
|
'worklet';
|
|
|
|
+ if (animatingTo.value === (open ? 'open' : 'close')) {
|
|
+ return;
|
|
+ }
|
|
+
|
|
const translateX = getDrawerTranslationX(open);
|
|
if (velocity === undefined) {
|
|
runOnJS(onAnimationStart)(open);
|
|
}
|
|
touchStartX.value = 0;
|
|
touchX.value = 0;
|
|
+ animatingTo.value = open ? 'open' : 'close';
|
|
translationX.value = withSpring(translateX, {
|
|
velocity,
|
|
stiffness: 1000,
|
|
@@ -142,7 +148,10 @@ export function Drawer({
|
|
restDisplacementThreshold: 0.01,
|
|
restSpeedThreshold: 0.01,
|
|
reduceMotion: ReduceMotion.Never
|
|
- }, finished => runOnJS(onAnimationEnd)(open, finished));
|
|
+ }, finished => {
|
|
+ animatingTo.value = null;
|
|
+ runOnJS(onAnimationEnd)(open, finished);
|
|
+ });
|
|
if (open) {
|
|
runOnJS(onOpen)();
|
|
} else {
|