import { StyleConstants } from '@utils/styles/constants' import { useTheme } from '@utils/styles/ThemeManager' import React, { useCallback } from 'react' import { StyleSheet, View } from 'react-native' import { Placeholder, Fade } from 'rn-placeholder' import AccountInformationAccount from './Information/Account' import AccountInformationActions from './Information/Actions' import AccountInformationAvatar from './Information/Avatar' import AccountInformationCreated from './Information/Created' import AccountInformationFields from './Information/Fields' import AccountInformationName from './Information/Name' import AccountInformationNote from './Information/Note' import AccountInformationStats from './Information/Stats' export interface Props { account: Mastodon.Account | undefined myInfo?: boolean // Showing from my info page } const AccountInformation = React.memo( ({ account, myInfo = false }: Props) => { const { mode, theme } = useTheme() const animation = useCallback( props => ( ), [mode] ) return ( ) }, (prev, next) => { let skipUpdate = true if (prev.account?.id !== next.account?.id) { skipUpdate = false } if (prev.account?.acct === next.account?.acct) { skipUpdate = false } return skipUpdate } ) const styles = StyleSheet.create({ base: { marginTop: -StyleConstants.Avatar.L / 2, padding: StyleConstants.Spacing.Global.PagePadding }, avatarAndActions: { flexDirection: 'row', justifyContent: 'space-between' }, actions: { alignSelf: 'flex-end', flexDirection: 'row' } }) export default AccountInformation