import './account-block.css';
import emojifyText from '../utils/emojify-text';
import niceDateTime from '../utils/nice-date-time';
import states from '../utils/states';
import Avatar from './avatar';
function AccountBlock({
skeleton,
account,
avatarSize = 'xl',
instance,
external,
onClick,
showActivity = false,
}) {
if (skeleton) {
return (
);
}
const {
acct,
avatar,
avatarStatic,
displayName,
username,
emojis,
url,
statusesCount,
lastStatusAt,
} = account;
const displayNameWithEmoji = emojifyText(displayName, emojis);
return (
{
if (external) return;
e.preventDefault();
if (onClick) return onClick(e);
states.showAccount = {
account,
instance,
};
}}
>
{displayName ? (
) : (
{username}
)}
@{acct}
{showActivity && (
<>
Posts: {statusesCount}
{!!lastStatusAt && (
<>
{' '}
· Last posted:{' '}
{niceDateTime(lastStatusAt, {
hideTime: true,
})}
>
)}
>
)}
);
}
export default AccountBlock;