Bluesky app fork with some witchin' additions 馃挮
0
fork

Configure Feed

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

at a876aae44ea07494ebea9727350aa060b81f317b 51 lines 1.4 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 {ProfileBadges} from '#/components/ProfileBadges' 9import {Text} from '#/components/Typography' 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 a.flex_row, 40 a.gap_2xs, 41 a.align_center, 42 { 43 marginTop: platform({ios: 2}), 44 }, 45 ]}> 46 <ProfileBadges profile={profile} size="lg" interactive /> 47 </View> 48 </Text> 49 </View> 50 ) 51}