diff --git a/apps/mobile/src/modules/discover/Category.tsx b/apps/mobile/src/modules/discover/Category.tsx
index 9c494d682..147e9096a 100644
--- a/apps/mobile/src/modules/discover/Category.tsx
+++ b/apps/mobile/src/modules/discover/Category.tsx
@@ -11,9 +11,12 @@ import { FilterCuteReIcon } from "@/src/icons/filter_cute_re"
import { Grid2CuteReIcon } from "@/src/icons/grid_2_cute_re"
import { useNavigation } from "@/src/lib/navigation/hooks"
import { Recommendations } from "@/src/modules/discover/Recommendations"
+import { DiscoverSettingsScreen } from "@/src/screens/(modal)/DiscoverSettingsScreen"
import { RecommendationCategoryScreen } from "@/src/screens/(stack)/recommendation/RecommendationCategoryScreen"
export const Category = () => {
+ const navigation = useNavigation()
+
return (
<>
@@ -21,7 +24,12 @@ export const Category = () => {
Categories
-
+ {
+ navigation.presentControllerView(DiscoverSettingsScreen)
+ }}
+ >
diff --git a/apps/mobile/src/modules/discover/Trending.tsx b/apps/mobile/src/modules/discover/Trending.tsx
index 2b04044c8..c363c4c00 100644
--- a/apps/mobile/src/modules/discover/Trending.tsx
+++ b/apps/mobile/src/modules/discover/Trending.tsx
@@ -8,6 +8,8 @@ import { ItemPressableStyle } from "@/src/components/ui/pressable/enum"
import { ItemPressable } from "@/src/components/ui/pressable/ItemPressable"
import { FilterCuteReIcon } from "@/src/icons/filter_cute_re"
import { TrendingUpCuteReIcon } from "@/src/icons/trending_up_cute_re"
+import { useNavigation } from "@/src/lib/navigation/hooks"
+import { DiscoverSettingsScreen } from "@/src/screens/(modal)/DiscoverSettingsScreen"
import { fetchFeedTrending } from "./api"
import { FeedSummary } from "./FeedSummary"
@@ -21,13 +23,14 @@ export const Trending = ({
}) => {
const discoverLanguage = useUISettingKey("discoverLanguage")
const { data, isLoading } = useQuery({
- queryKey: ["trending", "feeds"],
+ queryKey: ["trending", "feeds", discoverLanguage],
queryFn: () =>
fetchFeedTrending({
lang: discoverLanguage === "all" ? undefined : discoverLanguage,
limit: 20,
}).then((res) => res.data),
})
+ const navigation = useNavigation()
return (
@@ -36,7 +39,13 @@ export const Trending = ({
Trending
-
+ {
+ navigation.presentControllerView(DiscoverSettingsScreen)
+ }}
+ >
diff --git a/apps/mobile/src/screens/(modal)/DiscoverSettingsScreen.tsx b/apps/mobile/src/screens/(modal)/DiscoverSettingsScreen.tsx
new file mode 100644
index 000000000..b23677efd
--- /dev/null
+++ b/apps/mobile/src/screens/(modal)/DiscoverSettingsScreen.tsx
@@ -0,0 +1,45 @@
+import { useTranslation } from "react-i18next"
+import { View } from "react-native"
+
+import { setUISetting, useUISettingKey } from "@/src/atoms/settings/ui"
+import {
+ NavigationBlurEffectHeaderView,
+ SafeNavigationScrollView,
+} from "@/src/components/layouts/views/SafeNavigationScrollView"
+import { Select } from "@/src/components/ui/form/Select"
+import {
+ GroupedInsetListCard,
+ GroupedInsetListCell,
+ GroupedInsetListSectionHeader,
+} from "@/src/components/ui/grouped/GroupedList"
+
+export const DiscoverSettingsScreen = () => {
+ const { t } = useTranslation("settings")
+ const discoverLanguage = useUISettingKey("discoverLanguage")
+
+ return (
+ }
+ >
+
+
+
+
+
+
+
+
+ )
+}
diff --git a/locales/settings/en.json b/locales/settings/en.json
index fa4c7f076..5f92d9009 100644
--- a/locales/settings/en.json
+++ b/locales/settings/en.json
@@ -140,6 +140,9 @@
"data_control.export_local_database.label": "Export local database",
"data_control.import_opml.label": "Import subscriptions from OPML",
"data_control.utils": "Utils",
+ "discoverFilters.filters": "Filters",
+ "discoverFilters.language": "Language",
+ "discoverFilters.title": "Discover Filters",
"feeds.claimTips": "To claim your feeds and receive tips, right-click on the feed in your subscription list and select Claim.",
"feeds.noFeeds": "No claimed feeds",
"feeds.tableHeaders.name": "Name",