Only intercept scroll handler on iOS
The ScrollProvider wrapping and animatedProps for scroll indicator insets are iOS-only. On other platforms, let the List use the scroll handler from context directly. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -201,14 +201,7 @@ export function ProfileStarterPacks({
|
||||
[isTabletOrDesktop, t.atoms.border_contrast_low],
|
||||
)
|
||||
|
||||
return (
|
||||
<View testID={testID} style={style}>
|
||||
<ScrollProvider
|
||||
onScroll={onScrollWorklet}
|
||||
onBeginDrag={onBeginDragFromContext}
|
||||
onEndDrag={onEndDragFromContext}
|
||||
onMomentumBegin={onMomentumEndFromContext}
|
||||
onMomentumEnd={onMomentumEndFromContext}>
|
||||
const list = (
|
||||
<List
|
||||
testID={testID ? `${testID}-flatlist` : undefined}
|
||||
ref={scrollElRef}
|
||||
@@ -232,9 +225,24 @@ export function ProfileStarterPacks({
|
||||
ListFooterComponent={
|
||||
!!data && items?.length !== 0 && isMe ? CreateAnother : undefined
|
||||
}
|
||||
animatedProps={animatedProps}
|
||||
animatedProps={IS_IOS ? animatedProps : undefined}
|
||||
/>
|
||||
)
|
||||
|
||||
return (
|
||||
<View testID={testID} style={style}>
|
||||
{IS_IOS ? (
|
||||
<ScrollProvider
|
||||
onScroll={onScrollWorklet}
|
||||
onBeginDrag={onBeginDragFromContext}
|
||||
onEndDrag={onEndDragFromContext}
|
||||
onMomentumBegin={onMomentumEndFromContext}
|
||||
onMomentumEnd={onMomentumEndFromContext}>
|
||||
{list}
|
||||
</ScrollProvider>
|
||||
) : (
|
||||
list
|
||||
)}
|
||||
</View>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -159,14 +159,7 @@ export function ProfileLabelsSection({
|
||||
[labelerInfo, isSubscribed, numItems, t],
|
||||
)
|
||||
|
||||
return (
|
||||
<View>
|
||||
<ScrollProvider
|
||||
onScroll={onScrollWorklet}
|
||||
onBeginDrag={onBeginDragFromContext}
|
||||
onEndDrag={onEndDragFromContext}
|
||||
onMomentumBegin={onMomentumEndFromContext}
|
||||
onMomentumEnd={onMomentumEndFromContext}>
|
||||
const list = (
|
||||
<List
|
||||
ref={scrollElRef}
|
||||
data={labelValues}
|
||||
@@ -185,14 +178,26 @@ export function ProfileLabelsSection({
|
||||
/>
|
||||
}
|
||||
ListFooterComponent={
|
||||
<ListFooter
|
||||
height={headerHeight + 180}
|
||||
style={a.border_transparent}
|
||||
/>
|
||||
<ListFooter height={headerHeight + 180} style={a.border_transparent} />
|
||||
}
|
||||
animatedProps={animatedProps}
|
||||
animatedProps={IS_IOS ? animatedProps : undefined}
|
||||
/>
|
||||
)
|
||||
|
||||
return (
|
||||
<View>
|
||||
{IS_IOS ? (
|
||||
<ScrollProvider
|
||||
onScroll={onScrollWorklet}
|
||||
onBeginDrag={onBeginDragFromContext}
|
||||
onEndDrag={onEndDragFromContext}
|
||||
onMomentumBegin={onMomentumEndFromContext}
|
||||
onMomentumEnd={onMomentumEndFromContext}>
|
||||
{list}
|
||||
</ScrollProvider>
|
||||
) : (
|
||||
list
|
||||
)}
|
||||
</View>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -286,14 +286,7 @@ export function ProfileFeedgens({
|
||||
isEmpty,
|
||||
])
|
||||
|
||||
return (
|
||||
<View testID={testID} style={style}>
|
||||
<ScrollProvider
|
||||
onScroll={onScrollWorklet}
|
||||
onBeginDrag={onBeginDragFromContext}
|
||||
onEndDrag={onEndDragFromContext}
|
||||
onMomentumBegin={onMomentumEndFromContext}
|
||||
onMomentumEnd={onMomentumEndFromContext}>
|
||||
const list = (
|
||||
<List
|
||||
testID={testID ? `${testID}-flatlist` : undefined}
|
||||
ref={scrollElRef}
|
||||
@@ -309,9 +302,24 @@ export function ProfileFeedgens({
|
||||
desktopFixedHeight
|
||||
onEndReached={onEndReached}
|
||||
contentContainerStyle={{minHeight: height + headerOffset}}
|
||||
animatedProps={animatedProps}
|
||||
animatedProps={IS_IOS ? animatedProps : undefined}
|
||||
/>
|
||||
)
|
||||
|
||||
return (
|
||||
<View testID={testID} style={style}>
|
||||
{IS_IOS ? (
|
||||
<ScrollProvider
|
||||
onScroll={onScrollWorklet}
|
||||
onBeginDrag={onBeginDragFromContext}
|
||||
onEndDrag={onEndDragFromContext}
|
||||
onMomentumBegin={onMomentumEndFromContext}
|
||||
onMomentumEnd={onMomentumEndFromContext}>
|
||||
{list}
|
||||
</ScrollProvider>
|
||||
) : (
|
||||
list
|
||||
)}
|
||||
</View>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -285,14 +285,7 @@ export function ProfileLists({
|
||||
isEmpty,
|
||||
])
|
||||
|
||||
return (
|
||||
<View testID={testID} style={style}>
|
||||
<ScrollProvider
|
||||
onScroll={onScrollWorklet}
|
||||
onBeginDrag={onBeginDragFromContext}
|
||||
onEndDrag={onEndDragFromContext}
|
||||
onMomentumBegin={onMomentumEndFromContext}
|
||||
onMomentumEnd={onMomentumEndFromContext}>
|
||||
const list = (
|
||||
<List
|
||||
testID={testID ? `${testID}-flatlist` : undefined}
|
||||
ref={scrollElRef}
|
||||
@@ -308,9 +301,24 @@ export function ProfileLists({
|
||||
desktopFixedHeight
|
||||
onEndReached={onEndReached}
|
||||
contentContainerStyle={{minHeight: height + headerOffset}}
|
||||
animatedProps={animatedProps}
|
||||
animatedProps={IS_IOS ? animatedProps : undefined}
|
||||
/>
|
||||
)
|
||||
|
||||
return (
|
||||
<View testID={testID} style={style}>
|
||||
{IS_IOS ? (
|
||||
<ScrollProvider
|
||||
onScroll={onScrollWorklet}
|
||||
onBeginDrag={onBeginDragFromContext}
|
||||
onEndDrag={onEndDragFromContext}
|
||||
onMomentumBegin={onMomentumEndFromContext}
|
||||
onMomentumEnd={onMomentumEndFromContext}>
|
||||
{list}
|
||||
</ScrollProvider>
|
||||
) : (
|
||||
list
|
||||
)}
|
||||
</View>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -1045,14 +1045,7 @@ let PostFeed = ({
|
||||
return {}
|
||||
})
|
||||
|
||||
return (
|
||||
<View testID={testID} style={style}>
|
||||
<ScrollProvider
|
||||
onScroll={onScrollWorklet}
|
||||
onBeginDrag={onBeginDragFromContext}
|
||||
onEndDrag={onEndDragFromContext}
|
||||
onMomentumBegin={onMomentumEndFromContext}
|
||||
onMomentumEnd={onMomentumEndFromContext}>
|
||||
const list = (
|
||||
<List
|
||||
testID={testID ? `${testID}-flatlist` : undefined}
|
||||
ref={scrollElRef}
|
||||
@@ -1081,9 +1074,24 @@ let PostFeed = ({
|
||||
maxToRenderPerBatch={IS_IOS ? 5 : 1}
|
||||
updateCellsBatchingPeriod={40}
|
||||
onItemSeen={onItemSeen}
|
||||
animatedProps={animatedProps}
|
||||
animatedProps={IS_IOS ? animatedProps : undefined}
|
||||
/>
|
||||
)
|
||||
|
||||
return (
|
||||
<View testID={testID} style={style}>
|
||||
{IS_IOS ? (
|
||||
<ScrollProvider
|
||||
onScroll={onScrollWorklet}
|
||||
onBeginDrag={onBeginDragFromContext}
|
||||
onEndDrag={onEndDragFromContext}
|
||||
onMomentumBegin={onMomentumEndFromContext}
|
||||
onMomentumEnd={onMomentumEndFromContext}>
|
||||
{list}
|
||||
</ScrollProvider>
|
||||
) : (
|
||||
list
|
||||
)}
|
||||
</View>
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user