diff options
author | Eric Bailey <git@esb.lol> | 2023-06-16 14:59:29 -0500 |
---|---|---|
committer | Eric Bailey <git@esb.lol> | 2023-06-16 15:01:43 -0500 |
commit | 896aea98374188ac33ac92e1ed582d5d7f189ac6 (patch) | |
tree | 11543a99ca926d8b83e544b5e12a15e909e983ef /src/state/models/feeds/posts.ts | |
parent | 17e7590bcd36f9ec3433cb2714a9319fac4aeebf (diff) | |
download | voidsky-896aea98374188ac33ac92e1ed582d5d7f189ac6.tar.zst |
feat: add home feed preferences settings modal and tuners
Diffstat (limited to 'src/state/models/feeds/posts.ts')
-rw-r--r-- | src/state/models/feeds/posts.ts | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/state/models/feeds/posts.ts b/src/state/models/feeds/posts.ts index b7d4def13..594143bf2 100644 --- a/src/state/models/feeds/posts.ts +++ b/src/state/models/feeds/posts.ts @@ -115,6 +115,12 @@ export class PostsFeedModel { } get feedTuners() { + const areRepliesEnabled = this.rootStore.preferences.homeFeedRepliesEnabled + const repliesThreshold = this.rootStore.preferences.homeFeedRepliesThreshold + const areRepostsEnabled = this.rootStore.preferences.homeFeedRepostsEnabled + const areQuotePostsEnabled = + this.rootStore.preferences.homeFeedQuotePostsEnabled + if (this.feedType === 'custom') { return [ FeedTuner.dedupReposts, @@ -124,7 +130,13 @@ export class PostsFeedModel { ] } if (this.feedType === 'home') { - return [FeedTuner.dedupReposts, FeedTuner.likedRepliesOnly] + return [ + areRepostsEnabled && FeedTuner.dedupReposts, + !areRepostsEnabled && FeedTuner.removeReposts, + areRepliesEnabled && FeedTuner.likedRepliesOnly({repliesThreshold}), + !areRepliesEnabled && FeedTuner.removeReplies, + !areQuotePostsEnabled && FeedTuner.removeQuotePosts, + ].filter(Boolean) } return [] } |