about summary refs log tree commit diff
path: root/src/view/screens/Home.tsx
diff options
context:
space:
mode:
authorPaul Frazee <pfrazee@gmail.com>2023-12-24 10:00:29 -0800
committerGitHub <noreply@github.com>2023-12-24 10:00:29 -0800
commitfe0a35cbea7ff8430f9538d6a641e41ab74ed0a0 (patch)
tree1cefeb7e1437c1e0611862d888bb10d90425e6d2 /src/view/screens/Home.tsx
parent64bad57eb39269c025c80748966f9ac219daf8ce (diff)
downloadvoidsky-fe0a35cbea7ff8430f9538d6a641e41ab74ed0a0.tar.zst
Fix blank home screen (close #2281) (#2291)
Diffstat (limited to 'src/view/screens/Home.tsx')
-rw-r--r--src/view/screens/Home.tsx13
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}