Skip to content

Commit

Permalink
improve drawer reflow for large text (#1464)
Browse files Browse the repository at this point in the history
  • Loading branch information
estrattonbailey authored Sep 15, 2023
1 parent 754663e commit 3118e3e
Showing 1 changed file with 47 additions and 37 deletions.
84 changes: 47 additions & 37 deletions src/view/shell/Drawer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -145,41 +145,45 @@ export const DrawerContent = observer(function DrawerContentImpl() {
theme.colorScheme === 'light' ? pal.view : styles.viewDarkMode,
]}>
<SafeAreaView style={s.flex1}>
<View style={styles.main}>
<TouchableOpacity
testID="profileCardButton"
accessibilityLabel="Profile"
accessibilityHint="Navigates to your profile"
onPress={onPressProfile}>
<UserAvatar size={80} avatar={store.me.avatar} />
<Text
type="title-lg"
style={[pal.text, s.bold, styles.profileCardDisplayName]}
numberOfLines={1}>
{store.me.displayName || store.me.handle}
</Text>
<Text
type="2xl"
style={[pal.textLight, styles.profileCardHandle]}
numberOfLines={1}>
@{store.me.handle}
</Text>
<Text
type="xl"
style={[pal.textLight, styles.profileCardFollowers]}>
<Text type="xl-medium" style={pal.text}>
{formatCountShortOnly(store.me.followersCount ?? 0)}
</Text>{' '}
{pluralize(store.me.followersCount || 0, 'follower')} &middot;{' '}
<Text type="xl-medium" style={pal.text}>
{formatCountShortOnly(store.me.followsCount ?? 0)}
</Text>{' '}
following
</Text>
</TouchableOpacity>
</View>
<InviteCodes />
<ScrollView style={styles.main}>
<View style={{}}>
<TouchableOpacity
testID="profileCardButton"
accessibilityLabel="Profile"
accessibilityHint="Navigates to your profile"
onPress={onPressProfile}>
<UserAvatar size={80} avatar={store.me.avatar} />
<Text
type="title-lg"
style={[pal.text, s.bold, styles.profileCardDisplayName]}
numberOfLines={1}>
{store.me.displayName || store.me.handle}
</Text>
<Text
type="2xl"
style={[pal.textLight, styles.profileCardHandle]}
numberOfLines={1}>
@{store.me.handle}
</Text>
<Text
type="xl"
style={[pal.textLight, styles.profileCardFollowers]}>
<Text type="xl-medium" style={pal.text}>
{formatCountShortOnly(store.me.followersCount ?? 0)}
</Text>{' '}
{pluralize(store.me.followersCount || 0, 'follower')} &middot;{' '}
<Text type="xl-medium" style={pal.text}>
{formatCountShortOnly(store.me.followsCount ?? 0)}
</Text>{' '}
following
</Text>
</TouchableOpacity>
</View>

<InviteCodes style={{paddingLeft: 0}} />

<View style={{height: 10}} />

<MenuItem
icon={
isAtSearch ? (
Expand Down Expand Up @@ -313,6 +317,8 @@ export const DrawerContent = observer(function DrawerContentImpl() {
accessibilityHint=""
onPress={onPressSettings}
/>

<View style={styles.smallSpacer} />
<View style={styles.smallSpacer} />
</ScrollView>
<View style={styles.footer}>
Expand Down Expand Up @@ -405,7 +411,11 @@ function MenuItem({
)
}

const InviteCodes = observer(function InviteCodesImpl() {
const InviteCodes = observer(function InviteCodesImpl({
style,
}: {
style?: StyleProp<ViewStyle>
}) {
const {track} = useAnalytics()
const store = useStores()
const pal = usePalette('default')
Expand All @@ -418,7 +428,7 @@ const InviteCodes = observer(function InviteCodesImpl() {
return (
<TouchableOpacity
testID="menuItemInviteCodes"
style={[styles.inviteCodes]}
style={[styles.inviteCodes, style]}
onPress={onPress}
accessibilityRole="button"
accessibilityLabel={
Expand Down Expand Up @@ -448,7 +458,6 @@ const InviteCodes = observer(function InviteCodesImpl() {
const styles = StyleSheet.create({
view: {
flex: 1,
paddingTop: 20,
paddingBottom: 50,
maxWidth: 300,
},
Expand Down Expand Up @@ -524,6 +533,7 @@ const styles = StyleSheet.create({
},

footer: {
flexWrap: 'wrap',
flexDirection: 'row',
gap: 8,
paddingRight: 20,
Expand Down

0 comments on commit 3118e3e

Please sign in to comment.