diff options
author | Eric Bailey <git@esb.lol> | 2023-12-01 15:40:50 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-01 13:40:50 -0800 |
commit | 9dec9d72768c6217a3878c80b11cbbd3d9ed0ff9 (patch) | |
tree | c4e131576171c1289bdf5f95b018ee2003666be8 /src/view/screens/Home.tsx | |
parent | f80bd30ef47ff1959e97ca8cb7652c98d115c0ab (diff) | |
download | voidsky-9dec9d72768c6217a3878c80b11cbbd3d9ed0ff9.tar.zst |
Only poll feed when feed page is focused (#2064)
* Do no poll when screen is not focused * Avoid polling unless focused * Handle homepage in background * Fix the intl:check to ignore comments in diffs --------- Co-authored-by: Paul Frazee <pfrazee@gmail.com>
Diffstat (limited to 'src/view/screens/Home.tsx')
-rw-r--r-- | src/view/screens/Home.tsx | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/view/screens/Home.tsx b/src/view/screens/Home.tsx index e5a3035a4..e8001e973 100644 --- a/src/view/screens/Home.tsx +++ b/src/view/screens/Home.tsx @@ -1,6 +1,6 @@ import React from 'react' import {View, ActivityIndicator, StyleSheet} from 'react-native' -import {useFocusEffect} from '@react-navigation/native' +import {useFocusEffect, useIsFocused} from '@react-navigation/native' import {NativeStackScreenProps, HomeTabNavigatorParams} from 'lib/routes/types' import {FeedDescriptor, FeedParams} from '#/state/queries/post-feed' import {FollowingEmptyState} from 'view/com/posts/FollowingEmptyState' @@ -39,6 +39,7 @@ function HomeScreenReady({ const setMinimalShellMode = useSetMinimalShellMode() const setDrawerSwipeDisabled = useSetDrawerSwipeDisabled() const [selectedPage, setSelectedPage] = React.useState(0) + const isPageFocused = useIsFocused() /** * Used to ensure that we re-compute `customFeeds` AND force a re-render of @@ -132,7 +133,7 @@ function HomeScreenReady({ <FeedPage key="1" testID="followingFeedPage" - isPageFocused={selectedPage === 0} + isPageFocused={selectedPage === 0 && isPageFocused} feed={homeFeedParams.mergeFeedEnabled ? 'home' : 'following'} feedParams={homeFeedParams} renderEmptyState={renderFollowingEmptyState} @@ -143,7 +144,7 @@ function HomeScreenReady({ <FeedPage key={f} testID="customFeedPage" - isPageFocused={selectedPage === 1 + index} + isPageFocused={selectedPage === 1 + index && isPageFocused} feed={f} renderEmptyState={renderCustomFeedEmptyState} /> @@ -159,7 +160,7 @@ function HomeScreenReady({ tabBarPosition="top"> <FeedPage testID="customFeedPage" - isPageFocused + isPageFocused={isPageFocused} feed={`feedgen|at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.generator/whats-hot`} renderEmptyState={renderCustomFeedEmptyState} /> |