diff --git a/src/Container.tsx b/src/Container.tsx index 93084297..81cb1daf 100644 --- a/src/Container.tsx +++ b/src/Container.tsx @@ -504,23 +504,25 @@ const Container = React.forwardRef( )} - + {headerHeight !== undefined && ( + + )} ) diff --git a/src/hooks.tsx b/src/hooks.tsx index f41a0e1e..d911f16a 100644 --- a/src/hooks.tsx +++ b/src/hooks.tsx @@ -232,8 +232,6 @@ export const useScrollHandlerY = ( contentHeights, } = useTabsContext() - const isDragging = useSharedValue(false) - /** * Helper value to track if user is dragging on iOS, because iOS calls * onMomentumEnd only after a vigorous swipe. If the user has finished the @@ -258,8 +256,6 @@ export const useScrollHandlerY = ( 'worklet' if (!enabled) return - if (isDragging.value) return - if (typeof snapThreshold === 'number') { if (revealHeaderOnScroll) { if (accDiffClamp.value > 0) { @@ -402,7 +398,8 @@ export const useScrollHandlerY = ( cancelAnimation(accDiffClamp) isSnapping.value = false - isDragging.value = true + isScrolling.value = 0 + isGliding.value = false if (IS_IOS) cancelAnimation(afterDrag) }, @@ -410,7 +407,6 @@ export const useScrollHandlerY = ( if (!enabled) return isGliding.value = true - isDragging.value = false if (IS_IOS) { // we delay this by one frame so that onMomentumBegin may fire on iOS @@ -454,11 +450,7 @@ export const useScrollHandlerY = ( useAnimatedReaction( () => { return ( - !isSnapping.value && - !isScrolling.value && - !isDragging.value && - !isGliding.value && - enabled + !isSnapping.value && !isScrolling.value && !isGliding.value && enabled ) }, (sync) => {