diff options
author | Paul Frazee <pfrazee@gmail.com> | 2023-05-25 21:17:11 -0500 |
---|---|---|
committer | Paul Frazee <pfrazee@gmail.com> | 2023-05-25 21:17:11 -0500 |
commit | 7b6948e6171b448e271f0564efd1f186ccadb9b8 (patch) | |
tree | e0d1b6e9f9c863cbff53f8832fd55d03cb670a83 /src/view/shell/Drawer.tsx | |
parent | 15c1b6ee157471807a723161066ba4ce5e12c0b5 (diff) | |
parent | e832352e9844002408b45291396a3c495be23276 (diff) | |
download | voidsky-7b6948e6171b448e271f0564efd1f186ccadb9b8.tar.zst |
Merge branch 'custom-algos' into main
Diffstat (limited to 'src/view/shell/Drawer.tsx')
-rw-r--r-- | src/view/shell/Drawer.tsx | 52 |
1 files changed, 39 insertions, 13 deletions
diff --git a/src/view/shell/Drawer.tsx b/src/view/shell/Drawer.tsx index 2ecdbaab2..57f4ee696 100644 --- a/src/view/shell/Drawer.tsx +++ b/src/view/shell/Drawer.tsx @@ -2,6 +2,7 @@ import React, {ComponentProps} from 'react' import { Linking, SafeAreaView, + ScrollView, StyleProp, StyleSheet, TouchableOpacity, @@ -28,6 +29,8 @@ import { MagnifyingGlassIcon2Solid, MoonIcon, UserIconSolid, + SatelliteDishIcon, + SatelliteDishIconSolid, HandIcon, } from 'lib/icons' import {UserAvatar} from 'view/com/util/UserAvatar' @@ -40,7 +43,7 @@ import {getTabState, TabState} from 'lib/routes/helpers' import {NavigationProp} from 'lib/routes/types' import {useNavigationTabState} from 'lib/hooks/useNavigationTabState' import {isWeb} from 'platform/detection' -import {formatCount} from 'view/com/util/numeric/format' +import {formatCount, formatCountShortOnly} from 'view/com/util/numeric/format' export const DrawerContent = observer(() => { const theme = useTheme() @@ -48,7 +51,7 @@ export const DrawerContent = observer(() => { const store = useStores() const navigation = useNavigation<NavigationProp>() const {track} = useAnalytics() - const {isAtHome, isAtSearch, isAtNotifications, isAtMyProfile} = + const {isAtHome, isAtSearch, isAtFeeds, isAtNotifications, isAtMyProfile} = useNavigationTabState() const {notifications} = store.me @@ -95,6 +98,11 @@ export const DrawerContent = observer(() => { onPressTab('MyProfile') }, [onPressTab]) + const onPressMyFeeds = React.useCallback( + () => onPressTab('Feeds'), + [onPressTab], + ) + const onPressModeration = React.useCallback(() => { track('Menu:ItemClicked', {url: 'Moderation'}) navigation.navigate('Moderation') @@ -147,19 +155,18 @@ export const DrawerContent = observer(() => { type="xl" style={[pal.textLight, styles.profileCardFollowers]}> <Text type="xl-medium" style={pal.text}> - {formatCount(store.me.followersCount ?? 0)} + {formatCountShortOnly(store.me.followersCount ?? 0)} </Text>{' '} {pluralize(store.me.followersCount || 0, 'follower')} ·{' '} <Text type="xl-medium" style={pal.text}> - {formatCount(store.me.followsCount ?? 0)} + {formatCountShortOnly(store.me.followsCount ?? 0)} </Text>{' '} following </Text> </TouchableOpacity> </View> <InviteCodes /> - <View style={s.flex1} /> - <View style={styles.main}> + <ScrollView style={styles.main}> <MenuItem icon={ isAtSearch ? ( @@ -233,12 +240,27 @@ export const DrawerContent = observer(() => { /> <MenuItem icon={ - <HandIcon - strokeWidth={5} - style={pal.text as FontAwesomeIconStyle} - size={24} - /> + isAtFeeds ? ( + <SatelliteDishIconSolid + strokeWidth={1.5} + style={pal.text as FontAwesomeIconStyle} + size={24} + /> + ) : ( + <SatelliteDishIcon + strokeWidth={1.5} + style={pal.text as FontAwesomeIconStyle} + size={24} + /> + ) } + label="My Feeds" + accessibilityLabel="My Feeds" + accessibilityHint="" + onPress={onPressMyFeeds} + /> + <MenuItem + icon={<HandIcon strokeWidth={5} style={pal.text} size={24} />} label="Moderation" accessibilityLabel="Moderation" accessibilityHint="" @@ -278,8 +300,8 @@ export const DrawerContent = observer(() => { accessibilityHint="" onPress={onPressSettings} /> - </View> - <View style={s.flex1} /> + <View style={styles.smallSpacer} /> + </ScrollView> <View style={styles.footer}> {!isWeb && ( <TouchableOpacity @@ -435,6 +457,10 @@ const styles = StyleSheet.create({ }, main: { paddingLeft: 20, + paddingTop: 20, + }, + smallSpacer: { + height: 20, }, profileCardDisplayName: { |