about summary refs log tree commit diff
path: root/src/view/screens/Home.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/view/screens/Home.tsx')
-rw-r--r--src/view/screens/Home.tsx13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/view/screens/Home.tsx b/src/view/screens/Home.tsx
index bfe440265..82dd1365c 100644
--- a/src/view/screens/Home.tsx
+++ b/src/view/screens/Home.tsx
@@ -12,6 +12,7 @@ import {FeedPage} from 'view/com/feeds/FeedPage'
 import {HomeLoggedOutCTA} from '../com/auth/HomeLoggedOutCTA'
 import {useSetMinimalShellMode, useSetDrawerSwipeDisabled} from '#/state/shell'
 import {usePreferencesQuery} from '#/state/queries/preferences'
+import {usePinnedFeedsInfos, FeedSourceInfo} from '#/state/queries/feed'
 import {UsePreferencesQueryResponse} from '#/state/queries/preferences/types'
 import {emitSoftReset} from '#/state/events'
 import {useSession} from '#/state/session'
@@ -21,6 +22,7 @@ import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
 type Props = NativeStackScreenProps<HomeTabNavigatorParams, 'Home'>
 export function HomeScreen(props: Props) {
   const {data: preferences} = usePreferencesQuery()
+  const {feeds: pinnedFeeds} = usePinnedFeedsInfos()
   const {isDesktop} = useWebMediaQueries()
   const [initialPage, setInitialPage] = React.useState<string | undefined>(
     undefined,
@@ -39,11 +41,12 @@ export function HomeScreen(props: Props) {
     loadLastActivePage()
   }, [])
 
-  if (preferences && initialPage !== undefined) {
+  if (preferences && pinnedFeeds && initialPage !== undefined) {
     return (
       <HomeScreenReady
         {...props}
         preferences={preferences}
+        pinnedFeeds={pinnedFeeds}
         initialPage={isDesktop ? 'Following' : initialPage}
       />
     )
@@ -58,9 +61,11 @@ export function HomeScreen(props: Props) {
 
 function HomeScreenReady({
   preferences,
+  pinnedFeeds,
   initialPage,
 }: Props & {
   preferences: UsePreferencesQueryResponse
+  pinnedFeeds: FeedSourceInfo[]
   initialPage: string
 }) {
   const {hasSession} = useSession()
@@ -82,9 +87,9 @@ function HomeScreenReady({
   }, [preferences.feeds.pinned, selectedPage])
 
   const customFeeds = React.useMemo(() => {
-    const pinned = preferences.feeds.pinned
+    const pinned = pinnedFeeds
     const feeds: FeedDescriptor[] = []
-    for (const uri of pinned) {
+    for (const {uri} of pinned) {
       if (uri.includes('app.bsky.feed.generator')) {
         feeds.push(`feedgen|${uri}`)
       } else if (uri.includes('app.bsky.graph.list')) {
@@ -92,7 +97,7 @@ function HomeScreenReady({
       }
     }
     return feeds
-  }, [preferences.feeds.pinned])
+  }, [pinnedFeeds])
 
   const homeFeedParams = React.useMemo<FeedParams>(() => {
     return {