about summary refs log tree commit diff
path: root/src/view/screens/Home.tsx
diff options
context:
space:
mode:
authorEric Bailey <git@esb.lol>2023-08-24 18:26:29 -0500
committerGitHub <noreply@github.com>2023-08-24 16:26:29 -0700
commit4654a9a45e68eeba289f2f35473fb2af60e754e2 (patch)
tree344ded1d3ff63def5f64c00c3abcee4258fad12f /src/view/screens/Home.tsx
parenta5981e127f7e4e2a5ba44717b91b26161adc0a5e (diff)
downloadvoidsky-4654a9a45e68eeba289f2f35473fb2af60e754e2.tar.zst
defer loading of feeds until visible (#1271)
* defer loading of feeds until visible

* Fix: use existing hasLoaded

* Fix: dont query for latest during initial load

---------

Co-authored-by: Paul Frazee <pfrazee@gmail.com>
Diffstat (limited to 'src/view/screens/Home.tsx')
-rw-r--r--src/view/screens/Home.tsx8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/view/screens/Home.tsx b/src/view/screens/Home.tsx
index b633e0e1c..9259d4bea 100644
--- a/src/view/screens/Home.tsx
+++ b/src/view/screens/Home.tsx
@@ -56,7 +56,6 @@ export const HomeScreen = withAuthRequired(
       const feeds = []
       for (const feed of pinned) {
         const model = new PostsFeedModel(store, 'custom', {feed: feed.uri})
-        model.setup()
         feeds.push(model)
       }
       pagerRef.current?.setPage(0)
@@ -169,6 +168,13 @@ const FeedPage = observer(
     })
     const isScreenFocused = useIsFocused()
 
+    React.useEffect(() => {
+      // called on first load
+      if (!feed.hasLoaded && isPageFocused) {
+        feed.setup()
+      }
+    }, [isPageFocused, feed])
+
     const doPoll = React.useCallback(
       (knownActive = false) => {
         if (