about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorEric Bailey <git@esb.lol>2023-07-17 17:31:56 -0500
committerGitHub <noreply@github.com>2023-07-17 17:31:56 -0500
commitaa4b79e77a52f612c5d62538270a138c8aac88b6 (patch)
treeeb8367464272f66c9cf0ce9adca305959872899c /src
parentbfed96bd7b75081a148322e2f7cd2b82095d59fe (diff)
downloadvoidsky-aa4b79e77a52f612c5d62538270a138c8aac88b6.tar.zst
handle failed custom feeds on home screen (#1012)
* handle failed custom feeds on home screen

* remove unnecessary edit

* make sure edits to pinned feeds are handled and reloaded

* fix lint
Diffstat (limited to 'src')
-rw-r--r--src/view/screens/Home.tsx9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/view/screens/Home.tsx b/src/view/screens/Home.tsx
index 41459cfa5..b633e0e1c 100644
--- a/src/view/screens/Home.tsx
+++ b/src/view/screens/Home.tsx
@@ -36,13 +36,17 @@ export const HomeScreen = withAuthRequired(
     const pagerRef = React.useRef<PagerRef>(null)
     const [selectedPage, setSelectedPage] = React.useState(0)
     const [customFeeds, setCustomFeeds] = React.useState<PostsFeedModel[]>([])
+    const [requestedCustomFeeds, setRequestedCustomFeeds] = React.useState<
+      string[]
+    >([])
 
     React.useEffect(() => {
       const {pinned} = store.me.savedFeeds
+
       if (
         isEqual(
           pinned.map(p => p.uri),
-          customFeeds.map(f => (f.params as GetCustomFeed.QueryParams).feed),
+          requestedCustomFeeds,
         )
       ) {
         // no changes
@@ -57,12 +61,15 @@ export const HomeScreen = withAuthRequired(
       }
       pagerRef.current?.setPage(0)
       setCustomFeeds(feeds)
+      setRequestedCustomFeeds(pinned.map(p => p.uri))
     }, [
       store,
       store.me.savedFeeds.pinned,
       customFeeds,
       setCustomFeeds,
       pagerRef,
+      requestedCustomFeeds,
+      setRequestedCustomFeeds,
     ])
 
     useFocusEffect(