import React from 'react' import {AppBskyActorGetProfile as GetProfile} from '@atproto/api' import {StyleProp, StyleSheet, TextStyle} from 'react-native' import {TextLinkOnWebOnly} from './Link' import {Text} from './text/Text' import {LoadingPlaceholder} from './LoadingPlaceholder' import {TypographyVariant} from 'lib/ThemeContext' import {sanitizeDisplayName} from 'lib/strings/display-names' import {sanitizeHandle} from 'lib/strings/handles' import {makeProfileLink} from 'lib/routes/links' import {useProfileQuery} from '#/state/queries/profile' export function UserInfoText({ type = 'md', did, attr, failed, prefix, style, }: { type?: TypographyVariant did: string attr?: keyof GetProfile.OutputSchema loading?: string failed?: string prefix?: string style?: StyleProp }) { attr = attr || 'handle' failed = failed || 'user' const {data: profile, isError} = useProfileQuery({did}) let inner if (isError) { inner = ( {failed} ) } else if (profile) { inner = ( ) } else { inner = ( ) } return inner } const styles = StyleSheet.create({ loadingPlaceholder: {position: 'relative', top: 1, left: 2}, })