import { useCallback, useMemo } from 'react'; import type { FC } from 'react'; import { FormattedMessage, useIntl } from 'react-intl'; import { openModal } from '@/mastodon/actions/modal'; import { useAccount } from '@/mastodon/hooks/useAccount'; import { useAppDispatch } from '@/mastodon/store'; import { FormattedDateWrapper } from '../formatted_date'; import { NumberFields, NumberFieldsItem } from '../number_fields'; import { ShortNumber } from '../short_number'; import classes from './styles.module.scss'; export const AccountNumberFields: FC<{ accountId: string }> = ({ accountId, }) => { const intl = useIntl(); const account = useAccount(accountId); const createdThisYear = useMemo( () => account?.created_at.includes(new Date().getFullYear().toString()), [account?.created_at], ); const dispatch = useAppDispatch(); const showJoinModal = useCallback(() => { dispatch( openModal({ modalType: 'ACCOUNT_JOIN_DATE', modalProps: { accountId } }), ); }, [accountId, dispatch]); if (!account) { return null; } return ( } hint={intl.formatNumber(account.followers_count)} link={`/@${account.acct}/followers`} > } hint={intl.formatNumber(account.following_count)} link={`/@${account.acct}/following`} > } hint={intl.formatNumber(account.statuses_count)} > } hint={intl.formatDate(account.created_at)} > ); };