about summary refs log tree commit diff
path: root/src/state/models/ui/saved-feeds.ts
diff options
context:
space:
mode:
authorEric Bailey <git@esb.lol>2023-11-06 20:51:46 -0600
committerGitHub <noreply@github.com>2023-11-06 18:51:46 -0800
commit7ffbee18b578cc7f6d5eff6b7b4740eeb278d387 (patch)
treef796a32dc7ad7a4fa60c90ebe8d0805eee159167 /src/state/models/ui/saved-feeds.ts
parenta4baf14e4b9516c3611c1d8d988603994ea8a09f (diff)
downloadvoidsky-7ffbee18b578cc7f6d5eff6b7b4740eeb278d387.tar.zst
Fix removal of old lists from saved feeds (#1823)
* Fix removal of old lists from saved feeds

* Fix saved feed removal race condition
Diffstat (limited to 'src/state/models/ui/saved-feeds.ts')
-rw-r--r--src/state/models/ui/saved-feeds.ts14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/state/models/ui/saved-feeds.ts b/src/state/models/ui/saved-feeds.ts
index fd84edc02..624da4f5f 100644
--- a/src/state/models/ui/saved-feeds.ts
+++ b/src/state/models/ui/saved-feeds.ts
@@ -38,12 +38,18 @@ export class SavedFeedsModel {
     return this.hasLoaded && !this.hasContent
   }
 
-  get pinned() {
-    return this.all.filter(feed => feed.isPinned)
+  get pinned(): FeedSourceModel[] {
+    return this.rootStore.preferences.savedFeeds
+      .filter(feed => this.rootStore.preferences.isPinnedFeed(feed))
+      .map(uri => this.all.find(f => f.uri === uri))
+      .filter(Boolean) as FeedSourceModel[]
   }
 
-  get unpinned() {
-    return this.all.filter(feed => !feed.isPinned)
+  get unpinned(): FeedSourceModel[] {
+    return this.rootStore.preferences.savedFeeds
+      .filter(feed => !this.rootStore.preferences.isPinnedFeed(feed))
+      .map(uri => this.all.find(f => f.uri === uri))
+      .filter(Boolean) as FeedSourceModel[]
   }
 
   get pinnedFeedNames() {