about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorAnsh Nanda <anshnanda10@gmail.com>2023-05-12 14:40:58 -0700
committerAnsh Nanda <anshnanda10@gmail.com>2023-05-12 14:40:58 -0700
commit370d52bd1f4ba3b5effb7a48cd1c8b14aea88781 (patch)
tree7dfe2538000b96e562a079f10f5894a883195cf3 /src
parent678f75b4951d891bbc2651220fe99a2f040af88f (diff)
downloadvoidsky-370d52bd1f4ba3b5effb7a48cd1c8b14aea88781.tar.zst
add custom algorithm screen to settings under moderation
Diffstat (limited to 'src')
-rw-r--r--src/Navigation.tsx2
-rw-r--r--src/lib/routes/types.ts1
-rw-r--r--src/routes.ts1
-rw-r--r--src/view/screens/CustomAlgorithms.tsx27
-rw-r--r--src/view/screens/Settings.tsx16
5 files changed, 47 insertions, 0 deletions
diff --git a/src/Navigation.tsx b/src/Navigation.tsx
index afc7b39b8..8b6e1b453 100644
--- a/src/Navigation.tsx
+++ b/src/Navigation.tsx
@@ -52,6 +52,7 @@ import {AppPasswords} from 'view/screens/AppPasswords'
 import {MutedAccounts} from 'view/screens/MutedAccounts'
 import {BlockedAccounts} from 'view/screens/BlockedAccounts'
 import {getRoutingInstrumentation} from 'lib/sentry'
+import CustomAlgorithms from 'view/screens/CustomAlgorithms'
 
 const navigationRef = createNavigationContainerRef<AllNavigatorParams>()
 
@@ -91,6 +92,7 @@ function commonScreens(Stack: typeof HomeTab) {
       />
       <Stack.Screen name="CopyrightPolicy" component={CopyrightPolicyScreen} />
       <Stack.Screen name="AppPasswords" component={AppPasswords} />
+      <Stack.Screen name="CustomAlgorithms" component={CustomAlgorithms} />
       <Stack.Screen name="MutedAccounts" component={MutedAccounts} />
       <Stack.Screen name="BlockedAccounts" component={BlockedAccounts} />
     </>
diff --git a/src/lib/routes/types.ts b/src/lib/routes/types.ts
index 34e6e6a46..b91495640 100644
--- a/src/lib/routes/types.ts
+++ b/src/lib/routes/types.ts
@@ -20,6 +20,7 @@ export type CommonNavigatorParams = {
   CommunityGuidelines: undefined
   CopyrightPolicy: undefined
   AppPasswords: undefined
+  CustomAlgorithms: undefined
   MutedAccounts: undefined
   BlockedAccounts: undefined
 }
diff --git a/src/routes.ts b/src/routes.ts
index 43d31ee09..c1b441984 100644
--- a/src/routes.ts
+++ b/src/routes.ts
@@ -14,6 +14,7 @@ export const router = new Router({
   Debug: '/sys/debug',
   Log: '/sys/log',
   AppPasswords: '/settings/app-passwords',
+  CustomAlgorithms: '/settings/custom-algorithms',
   MutedAccounts: '/settings/muted-accounts',
   BlockedAccounts: '/settings/blocked-accounts',
   Support: '/support',
diff --git a/src/view/screens/CustomAlgorithms.tsx b/src/view/screens/CustomAlgorithms.tsx
new file mode 100644
index 000000000..3e2fa7e73
--- /dev/null
+++ b/src/view/screens/CustomAlgorithms.tsx
@@ -0,0 +1,27 @@
+import {NativeStackScreenProps} from '@react-navigation/native-stack'
+import {usePalette} from 'lib/hooks/usePalette'
+import {CommonNavigatorParams} from 'lib/routes/types'
+import {observer} from 'mobx-react-lite'
+import React from 'react'
+import {StyleSheet, View} from 'react-native'
+import {withAuthRequired} from 'view/com/auth/withAuthRequired'
+import {ViewHeader} from 'view/com/util/ViewHeader'
+import {Text} from 'view/com/util/text/Text'
+
+type Props = NativeStackScreenProps<CommonNavigatorParams, 'CustomAlgorithms'>
+
+const CustomAlgorithms = withAuthRequired(
+  observer((props: Props) => {
+    const pal = usePalette('default')
+    return (
+      <View>
+        <ViewHeader title="Custom Algorithms" showOnDesktop />
+        <Text>CustomAlgorithms</Text>
+      </View>
+    )
+  }),
+)
+
+export default CustomAlgorithms
+
+const styles = StyleSheet.create({})
diff --git a/src/view/screens/Settings.tsx b/src/view/screens/Settings.tsx
index f98cdc0c8..fd8fb4f4a 100644
--- a/src/view/screens/Settings.tsx
+++ b/src/view/screens/Settings.tsx
@@ -290,6 +290,22 @@ export const SettingsScreen = withAuthRequired(
           <Text type="xl-bold" style={[pal.text, styles.heading]}>
             Moderation
           </Text>
+          <Link
+            testID="bookmarkedAlgosBtn"
+            style={[styles.linkCard, pal.view, isSwitching && styles.dimmed]}
+            accessibilityHint="Custom Algorithms"
+            accessibilityLabel="Opens screen with all bookmarked custom algorithms"
+            href="/settings/custom-algorithms">
+            <View style={[styles.iconContainer, pal.btn]}>
+              <FontAwesomeIcon
+                icon="rss"
+                style={pal.text as FontAwesomeIconStyle}
+              />
+            </View>
+            <Text type="lg" style={pal.text}>
+              Custom Algorithms
+            </Text>
+          </Link>
           <TouchableOpacity
             testID="contentFilteringBtn"
             style={[styles.linkCard, pal.view, isSwitching && styles.dimmed]}