diff options
author | Paul Frazee <pfrazee@gmail.com> | 2023-12-24 10:00:29 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-24 10:00:29 -0800 |
commit | fe0a35cbea7ff8430f9538d6a641e41ab74ed0a0 (patch) | |
tree | 1cefeb7e1437c1e0611862d888bb10d90425e6d2 /src/view/screens/Home.tsx | |
parent | 64bad57eb39269c025c80748966f9ac219daf8ce (diff) | |
download | voidsky-fe0a35cbea7ff8430f9538d6a641e41ab74ed0a0.tar.zst |
Diffstat (limited to 'src/view/screens/Home.tsx')
-rw-r--r-- | src/view/screens/Home.tsx | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/view/screens/Home.tsx b/src/view/screens/Home.tsx index 82dd1365c..b8033f0b4 100644 --- a/src/view/screens/Home.tsx +++ b/src/view/screens/Home.tsx @@ -18,11 +18,13 @@ import {emitSoftReset} from '#/state/events' import {useSession} from '#/state/session' import {loadString, saveString} from '#/lib/storage' import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries' +import {clamp} from '#/lib/numbers' type Props = NativeStackScreenProps<HomeTabNavigatorParams, 'Home'> export function HomeScreen(props: Props) { const {data: preferences} = usePreferencesQuery() - const {feeds: pinnedFeeds} = usePinnedFeedsInfos() + const {feeds: pinnedFeeds, isLoading: isPinnedFeedsLoading} = + usePinnedFeedsInfos() const {isDesktop} = useWebMediaQueries() const [initialPage, setInitialPage] = React.useState<string | undefined>( undefined, @@ -41,7 +43,12 @@ export function HomeScreen(props: Props) { loadLastActivePage() }, []) - if (preferences && pinnedFeeds && initialPage !== undefined) { + if ( + preferences && + pinnedFeeds && + initialPage !== undefined && + !isPinnedFeedsLoading + ) { return ( <HomeScreenReady {...props} @@ -172,7 +179,7 @@ function HomeScreenReady({ <Pager key={pinnedFeedOrderKey} testID="homeScreen" - initialPage={selectedPageIndex} + initialPage={clamp(selectedPageIndex, 0, customFeeds.length)} onPageSelected={onPageSelected} onPageScrollStateChanged={onPageScrollStateChanged} renderTabBar={renderTabBar} |