diff --git a/src/components/screens/Settings/Content/ContentScreen.tsx b/src/components/screens/Settings/Content/ContentScreen.tsx index df2e1580c..2e1a3fa54 100644 --- a/src/components/screens/Settings/Content/ContentScreen.tsx +++ b/src/components/screens/Settings/Content/ContentScreen.tsx @@ -145,6 +145,24 @@ function ContentScreen({ } /> + + onChange("hideBotContent", v)} + /> + } + /> + ); diff --git a/src/plugins/i18n/locales/en.json b/src/plugins/i18n/locales/en.json index 3023d02ca..ad0de1eae 100644 --- a/src/plugins/i18n/locales/en.json +++ b/src/plugins/i18n/locales/en.json @@ -127,6 +127,9 @@ "blur": "Blur NSFW Content", "hide": "Hide NSFW Content" }, + "botContent": { + "footer": "Hide all posts that are made from bot accounts" + }, "markRead": { "header": "MARK READ SETTINGS", "onPostOpen": "Mark Read on Post Open", diff --git a/src/stores/feeds/actions/setFeedPosts.ts b/src/stores/feeds/actions/setFeedPosts.ts index 15e6064b9..24df97dc4 100644 --- a/src/stores/feeds/actions/setFeedPosts.ts +++ b/src/stores/feeds/actions/setFeedPosts.ts @@ -3,12 +3,16 @@ import { useSettingsStore } from "@src/stores/settings/settingsStore"; import { useFeedsStore } from "../feedsStore"; const setFeedPosts = (feedKey: string, posts: PostView[]) => { - const { hideNsfw } = useSettingsStore.getState().settings; + const { hideNsfw, hideBotContent } = useSettingsStore.getState().settings; if (hideNsfw) { posts = posts.filter((p) => !p.post.nsfw && !p.community.nsfw); } + if (hideBotContent) { + posts = posts.filter((p) => !p.creator.bot_account); + } + useFeedsStore.setState((state) => { const prev = state.feeds.get(feedKey); diff --git a/src/stores/settings/settingsStore.ts b/src/stores/settings/settingsStore.ts index ec6173bff..6b1a7d663 100644 --- a/src/stores/settings/settingsStore.ts +++ b/src/stores/settings/settingsStore.ts @@ -60,6 +60,7 @@ export interface SettingsState { commentSwipeLeftSecond: "Reply" | "Save" | "Collapse" | "None"; showCommentJumpButton: boolean; commentJumpPlacement: "bottom left" | "bottom right" | "bottom center"; + hideBotContent: boolean; } const initialState: SettingsState = { @@ -108,6 +109,7 @@ const initialState: SettingsState = { commentSwipeLeftSecond: "None", showCommentJumpButton: true, commentJumpPlacement: "bottom right", + hideBotContent: false, }; export const useSettingsStore = create(