Bluesky app fork with some witchin' additions 💫
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Don't re-use profile-specific components in Settings (#8193)

authored by

Eric Bailey and committed by
GitHub
9ae0cf60 2ff5f2fb

+30 -9
+30 -9
src/screens/Settings/Settings.tsx
··· 2 2 import {LayoutAnimation, Pressable, View} from 'react-native' 3 3 import {Linking} from 'react-native' 4 4 import {useReducedMotion} from 'react-native-reanimated' 5 - import {AppBskyActorDefs, moderateProfile} from '@atproto/api' 5 + import {type AppBskyActorDefs, moderateProfile} from '@atproto/api' 6 6 import {msg, Trans} from '@lingui/macro' 7 7 import {useLingui} from '@lingui/react' 8 8 import {useNavigation} from '@react-navigation/native' 9 - import {NativeStackScreenProps} from '@react-navigation/native-stack' 9 + import {type NativeStackScreenProps} from '@react-navigation/native-stack' 10 10 11 11 import {IS_INTERNAL} from '#/lib/app-info' 12 12 import {HELP_DESK_URL} from '#/lib/constants' 13 13 import {useAccountSwitcher} from '#/lib/hooks/useAccountSwitcher' 14 - import {CommonNavigatorParams, NavigationProp} from '#/lib/routes/types' 14 + import { 15 + type CommonNavigatorParams, 16 + type NavigationProp, 17 + } from '#/lib/routes/types' 18 + import {sanitizeDisplayName} from '#/lib/strings/display-names' 15 19 import {sanitizeHandle} from '#/lib/strings/handles' 16 20 import {useProfileShadow} from '#/state/cache/profile-shadow' 17 21 import {clearStorage} from '#/state/persisted' 18 22 import {useModerationOpts} from '#/state/preferences/moderation-opts' 19 23 import {useDeleteActorDeclaration} from '#/state/queries/messages/actor-declaration' 20 24 import {useProfileQuery, useProfilesQuery} from '#/state/queries/profile' 21 - import {SessionAccount, useSession, useSessionApi} from '#/state/session' 25 + import {type SessionAccount, useSession, useSessionApi} from '#/state/session' 22 26 import {useOnboardingDispatch} from '#/state/shell' 23 27 import {useLoggedOutViewControls} from '#/state/shell/logged-out' 24 28 import {useCloseAllActiveElements} from '#/state/util' 25 29 import * as Toast from '#/view/com/util/Toast' 26 30 import {UserAvatar} from '#/view/com/util/UserAvatar' 27 - import {ProfileHeaderDisplayName} from '#/screens/Profile/Header/DisplayName' 28 - import {ProfileHeaderHandle} from '#/screens/Profile/Header/Handle' 29 31 import * as SettingsList from '#/screens/Settings/components/SettingsList' 30 - import {atoms as a, tokens, useTheme} from '#/alf' 32 + import {atoms as a, tokens, useBreakpoints, useTheme} from '#/alf' 31 33 import {AvatarStackWithFetch} from '#/components/AvatarStack' 32 34 import {useDialogControl} from '#/components/Dialog' 33 35 import {SwitchAccountDialog} from '#/components/dialogs/SwitchAccount' ··· 52 54 import {Loader} from '#/components/Loader' 53 55 import * as Menu from '#/components/Menu' 54 56 import * as Prompt from '#/components/Prompt' 57 + import {Text} from '#/components/Typography' 55 58 56 59 type Props = NativeStackScreenProps<CommonNavigatorParams, 'Settings'> 57 60 export function SettingsScreen({}: Props) { ··· 271 274 }: { 272 275 profile: AppBskyActorDefs.ProfileViewDetailed 273 276 }) { 277 + const t = useTheme() 278 + const {gtMobile} = useBreakpoints() 274 279 const shadow = useProfileShadow(profile) 275 280 const moderationOpts = useModerationOpts() 276 281 ··· 286 291 moderation={moderation.ui('avatar')} 287 292 type={shadow.associated?.labeler ? 'labeler' : 'user'} 288 293 /> 289 - <ProfileHeaderDisplayName profile={shadow} moderation={moderation} /> 290 - <ProfileHeaderHandle profile={shadow} /> 294 + 295 + <Text 296 + emoji 297 + testID="profileHeaderDisplayName" 298 + style={[ 299 + a.pt_sm, 300 + t.atoms.text, 301 + gtMobile ? a.text_4xl : a.text_3xl, 302 + a.font_heavy, 303 + ]}> 304 + {sanitizeDisplayName( 305 + profile.displayName || sanitizeHandle(profile.handle), 306 + moderation.ui('displayName'), 307 + )} 308 + </Text> 309 + <Text style={[a.text_md, a.leading_snug, t.atoms.text_contrast_medium]}> 310 + {sanitizeHandle(profile.handle, '@')} 311 + </Text> 291 312 </> 292 313 ) 293 314 }