import React, { useState } from 'react' import { Image, StyleSheet, Text, View } from 'react-native' import ShimmerPlaceholder from 'react-native-shimmer-placeholder' import { Feather } from '@expo/vector-icons' import ParseContent from 'src/components/ParseContent' import { useTheme } from 'src/utils/styles/ThemeManager' import constants from 'src/utils/styles/constants' export interface Props { account: Mastodon.Account | undefined } const AccountInformation: React.FC = ({ account }) => { const { theme } = useTheme() const [avatarLoaded, setAvatarLoaded] = useState(false) // add emoji support return ( {/* Moved or not: {account.moved} */} setAvatarLoaded(true)} /> {account?.display_name || account?.username} {account?.bot && ( )} @{account?.acct} {account?.locked && } {account?.fields && ( {account.fields.map((field, index) => ( {' '} {field.verified_at && } ))} )} {account?.note && ( )} {account?.created_at && ( 加入时间: {new Date(account.created_at).toLocaleDateString('zh-CN', { year: 'numeric', month: 'long', day: 'numeric' })} )} {account?.statuses_count} 条嘟文 关注 {account?.followers_count} 人 被 {account?.following_count} 人关注 ) } const styles = StyleSheet.create({ information: { marginTop: -30 - constants.GLOBAL_PAGE_PADDING, padding: constants.GLOBAL_PAGE_PADDING }, avatar: { width: constants.AVATAR_L, height: constants.AVATAR_L, borderRadius: 8 }, display_name: { fontSize: constants.FONT_SIZE_L, fontWeight: 'bold', marginTop: constants.SPACING_M, marginBottom: constants.SPACING_XS }, account: { fontSize: constants.FONT_SIZE_M, marginBottom: constants.SPACING_S }, fields: { marginBottom: constants.SPACING_S }, note: { marginBottom: constants.SPACING_M }, created_at: { flexDirection: 'row', marginBottom: constants.SPACING_M }, summary: { flexDirection: 'row', justifyContent: 'space-between' } }) export default AccountInformation