diff options
author | Ansh Nanda <anshnanda10@gmail.com> | 2023-05-12 14:40:58 -0700 |
---|---|---|
committer | Ansh Nanda <anshnanda10@gmail.com> | 2023-05-12 14:40:58 -0700 |
commit | 370d52bd1f4ba3b5effb7a48cd1c8b14aea88781 (patch) | |
tree | 7dfe2538000b96e562a079f10f5894a883195cf3 | |
parent | 678f75b4951d891bbc2651220fe99a2f040af88f (diff) | |
download | voidsky-370d52bd1f4ba3b5effb7a48cd1c8b14aea88781.tar.zst |
add custom algorithm screen to settings under moderation
-rw-r--r-- | src/Navigation.tsx | 2 | ||||
-rw-r--r-- | src/lib/routes/types.ts | 1 | ||||
-rw-r--r-- | src/routes.ts | 1 | ||||
-rw-r--r-- | src/view/screens/CustomAlgorithms.tsx | 27 | ||||
-rw-r--r-- | src/view/screens/Settings.tsx | 16 |
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]} |