diff options
Diffstat (limited to 'src/view/com/pager')
-rw-r--r-- | src/view/com/pager/Pager.tsx | 2 | ||||
-rw-r--r-- | src/view/com/pager/PagerWithHeader.tsx | 15 |
2 files changed, 14 insertions, 3 deletions
diff --git a/src/view/com/pager/Pager.tsx b/src/view/com/pager/Pager.tsx index d70087504..61c3609f2 100644 --- a/src/view/com/pager/Pager.tsx +++ b/src/view/com/pager/Pager.tsx @@ -81,12 +81,14 @@ export const Pager = forwardRef<PagerRef, React.PropsWithChildren<Props>>( if (scrollState.current === 'settling') { if (lastDirection.current === -1 && offset < lastOffset.current) { onPageSelecting?.(position) + setSelectedPage(position) lastDirection.current = 0 } else if ( lastDirection.current === 1 && offset > lastOffset.current ) { onPageSelecting?.(position + 1) + setSelectedPage(position + 1) lastDirection.current = 0 } } else { diff --git a/src/view/com/pager/PagerWithHeader.tsx b/src/view/com/pager/PagerWithHeader.tsx index 487c589e3..dcfc1eebb 100644 --- a/src/view/com/pager/PagerWithHeader.tsx +++ b/src/view/com/pager/PagerWithHeader.tsx @@ -69,13 +69,19 @@ export const PagerWithHeader = React.forwardRef<PagerRef, PagerWithHeaderProps>( // capture the header bar sizing const onTabBarLayout = React.useCallback( (evt: LayoutChangeEvent) => { - setTabBarHeight(evt.nativeEvent.layout.height) + const height = evt.nativeEvent.layout.height + if (height > 0) { + setTabBarHeight(height) + } }, [setTabBarHeight], ) const onHeaderOnlyLayout = React.useCallback( (evt: LayoutChangeEvent) => { - setHeaderOnlyHeight(evt.nativeEvent.layout.height) + const height = evt.nativeEvent.layout.height + if (height > 0) { + setHeaderOnlyHeight(height) + } }, [setHeaderOnlyHeight], ) @@ -248,11 +254,14 @@ let PagerTabBar = ({ })) return ( <Animated.View + pointerEvents="box-none" style={[ isMobile ? styles.tabBarMobile : styles.tabBarDesktop, headerTransform, ]}> - <View onLayout={onHeaderOnlyLayout}>{renderHeader?.()}</View> + <View onLayout={onHeaderOnlyLayout} pointerEvents="box-none"> + {renderHeader?.()} + </View> <View onLayout={onTabBarLayout} style={{ |