import Icon from '@components/Icon' import CustomText from '@components/Text' import { useRelationshipQuery } from '@utils/queryHooks/relationship' import { getInstanceAccount, getInstanceUri } from '@utils/slices/instancesSlice' import { StyleConstants } from '@utils/styles/constants' import { useTheme } from '@utils/styles/ThemeManager' import React from 'react' import { useTranslation } from 'react-i18next' import { View } from 'react-native' import { useSelector } from 'react-redux' import { PlaceholderLine } from 'rn-placeholder' export interface Props { account: Mastodon.Account | undefined localInstance: boolean } const AccountInformationAccount: React.FC = ({ account, localInstance }) => { const { t } = useTranslation('screenTabs') const { colors } = useTheme() const instanceAccount = useSelector( getInstanceAccount, (prev, next) => prev?.acct === next?.acct ) const instanceUri = useSelector(getInstanceUri) const { data: relationship } = useRelationshipQuery({ id: account?.id || '', options: { enabled: account !== undefined } }) if (account || (localInstance && instanceAccount)) { return ( {account?.moved ? ( <> {' '} @{account.moved.acct} ) : null} @{localInstance ? instanceAccount?.acct : account?.acct} {localInstance ? `@${instanceUri}` : null} {relationship?.followed_by ? t('shared.account.followed_by') : null} {account?.locked ? ( ) : null} {account?.bot ? ( ) : null} ) } else { return ( ) } } export default React.memo( AccountInformationAccount, (_, next) => next.account === undefined )