Handle end of feed

This commit is contained in:
Eric Bailey
2023-11-14 10:17:09 -06:00
parent a81c4b68fa
commit cd5352e53a
+11 -3
View File
@@ -107,6 +107,7 @@ export const FeedsScreen = withAuthRequired(function FeedsScreenImpl(
refetch: refetchPopularFeeds,
fetchNextPage: fetchNextPopularFeedsPage,
isFetchingNextPage: isPopularFeedsFetchingNextPage,
hasNextPage: hasNextPopularFeedsPage,
} = useGetPopularFeedsQuery()
const {_} = useLingui()
const setMinimalShellMode = useSetMinimalShellMode()
@@ -154,6 +155,15 @@ export const FeedsScreen = withAuthRequired(function FeedsScreenImpl(
await refetchPopularFeeds()
setIsPTR(false)
}, [setIsPTR, refetchPopularFeeds])
const onEndReached = React.useCallback(() => {
if (isUserSearching || !hasNextPopularFeedsPage || popularFeedsError) return
fetchNextPopularFeedsPage()
}, [
isUserSearching,
popularFeedsError,
hasNextPopularFeedsPage,
fetchNextPopularFeedsPage,
])
useFocusEffect(
React.useCallback(() => {
@@ -474,9 +484,7 @@ export const FeedsScreen = withAuthRequired(function FeedsScreenImpl(
/>
}
initialNumToRender={10}
onEndReached={() =>
isUserSearching ? undefined : fetchNextPopularFeedsPage()
}
onEndReached={onEndReached}
// @ts-ignore our .web version only -prf
desktopFixedHeight
/>