f8a59e10dd
* header display name rtl support * highlighted post rtl * move `NON_BREAKING_SPACE` to an external constant * rtl support in search dropdown * profile card rtl * old profile card rtl * hover card * wizard list card * new chat * account card * chat header * clean up notifications * just force LTR on meta display name
32 lines
916 B
TypeScript
32 lines
916 B
TypeScript
import React from 'react'
|
|
import {View} from 'react-native'
|
|
import {AppBskyActorDefs, ModerationDecision} from '@atproto/api'
|
|
|
|
import {Shadow} from '#/state/cache/types'
|
|
import {sanitizeDisplayName} from 'lib/strings/display-names'
|
|
import {sanitizeHandle} from 'lib/strings/handles'
|
|
import {atoms as a, useTheme} from '#/alf'
|
|
import {Text} from '#/components/Typography'
|
|
|
|
export function ProfileHeaderDisplayName({
|
|
profile,
|
|
moderation,
|
|
}: {
|
|
profile: Shadow<AppBskyActorDefs.ProfileViewDetailed>
|
|
moderation: ModerationDecision
|
|
}) {
|
|
const t = useTheme()
|
|
return (
|
|
<View pointerEvents="none">
|
|
<Text
|
|
testID="profileHeaderDisplayName"
|
|
style={[t.atoms.text, a.text_4xl, a.self_start, {fontWeight: '500'}]}>
|
|
{sanitizeDisplayName(
|
|
profile.displayName || sanitizeHandle(profile.handle),
|
|
moderation.ui('displayName'),
|
|
)}
|
|
</Text>
|
|
</View>
|
|
)
|
|
}
|