Bluesky app fork with some witchin' additions 馃挮
at linkat-integration 48 lines 1.3 kB view raw
1import {View} from 'react-native' 2import {type AppBskyActorDefs, type ModerationDecision} from '@atproto/api' 3 4import {sanitizeDisplayName} from '#/lib/strings/display-names' 5import {sanitizeHandle} from '#/lib/strings/handles' 6import {type Shadow} from '#/state/cache/types' 7import {atoms as a, platform, useBreakpoints, useTheme} from '#/alf' 8import {Text} from '#/components/Typography' 9import {VerificationCheckButton} from '#/components/verification/VerificationCheckButton' 10 11export function ProfileHeaderDisplayName({ 12 profile, 13 moderation, 14}: { 15 profile: Shadow<AppBskyActorDefs.ProfileViewDetailed> 16 moderation: ModerationDecision 17}) { 18 const t = useTheme() 19 const {gtMobile} = useBreakpoints() 20 21 return ( 22 <View> 23 <Text 24 emoji 25 testID="profileHeaderDisplayName" 26 style={[ 27 t.atoms.text, 28 gtMobile ? a.text_4xl : a.text_3xl, 29 a.self_start, 30 a.font_bold, 31 ]}> 32 {sanitizeDisplayName( 33 profile.displayName || sanitizeHandle(profile.handle), 34 moderation.ui('displayName'), 35 )} 36 <View 37 style={[ 38 a.pl_xs, 39 { 40 marginTop: platform({ios: 2}), 41 }, 42 ]}> 43 <VerificationCheckButton profile={profile} size="lg" /> 44 </View> 45 </Text> 46 </View> 47 ) 48}