|
|
|
@ -134,6 +134,8 @@ class Header extends ImmutablePureComponent {
|
|
|
|
|
|
|
|
|
|
const accountNote = account.getIn(['relationship', 'note']);
|
|
|
|
|
|
|
|
|
|
const suspended = account.get('suspended');
|
|
|
|
|
|
|
|
|
|
let info = [];
|
|
|
|
|
let actionBtn = '';
|
|
|
|
|
let lockedIcon = '';
|
|
|
|
@ -170,17 +172,21 @@ class Header extends ImmutablePureComponent {
|
|
|
|
|
actionBtn = '';
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (suspended && !account.getIn(['relationship', 'following'])) {
|
|
|
|
|
actionBtn = '';
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (account.get('locked')) {
|
|
|
|
|
lockedIcon = <Icon id='lock' title={intl.formatMessage(messages.account_locked)} />;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (account.get('id') !== me) {
|
|
|
|
|
if (account.get('id') !== me && !suspended) {
|
|
|
|
|
menu.push({ text: intl.formatMessage(messages.mention, { name: account.get('username') }), action: this.props.onMention });
|
|
|
|
|
menu.push({ text: intl.formatMessage(messages.direct, { name: account.get('username') }), action: this.props.onDirect });
|
|
|
|
|
menu.push(null);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ('share' in navigator) {
|
|
|
|
|
if ('share' in navigator && !suspended) {
|
|
|
|
|
menu.push({ text: intl.formatMessage(messages.share, { name: account.get('username') }), action: this.handleShare });
|
|
|
|
|
menu.push(null);
|
|
|
|
|
}
|
|
|
|
@ -297,39 +303,41 @@ class Header extends ImmutablePureComponent {
|
|
|
|
|
|
|
|
|
|
<AccountNoteContainer account={account} />
|
|
|
|
|
|
|
|
|
|
<div className='account__header__extra'>
|
|
|
|
|
<div className='account__header__bio'>
|
|
|
|
|
{ (fields.size > 0 || identity_proofs.size > 0) && (
|
|
|
|
|
<div className='account__header__fields'>
|
|
|
|
|
{identity_proofs.map((proof, i) => (
|
|
|
|
|
<dl key={i}>
|
|
|
|
|
<dt dangerouslySetInnerHTML={{ __html: proof.get('provider') }} />
|
|
|
|
|
|
|
|
|
|
<dd className='verified'>
|
|
|
|
|
<a href={proof.get('proof_url')} target='_blank' rel='noopener noreferrer'><span title={intl.formatMessage(messages.linkVerifiedOn, { date: intl.formatDate(proof.get('updated_at'), dateFormatOptions) })}>
|
|
|
|
|
<Icon id='check' className='verified__mark' />
|
|
|
|
|
</span></a>
|
|
|
|
|
<a href={proof.get('profile_url')} target='_blank' rel='noopener noreferrer'><span dangerouslySetInnerHTML={{ __html: ' '+proof.get('provider_username') }} /></a>
|
|
|
|
|
</dd>
|
|
|
|
|
</dl>
|
|
|
|
|
))}
|
|
|
|
|
{fields.map((pair, i) => (
|
|
|
|
|
<dl key={i}>
|
|
|
|
|
<dt dangerouslySetInnerHTML={{ __html: pair.get('name_emojified') }} title={pair.get('name')} />
|
|
|
|
|
|
|
|
|
|
<dd className={pair.get('verified_at') && 'verified'} title={pair.get('value_plain')}>
|
|
|
|
|
{pair.get('verified_at') && <span title={intl.formatMessage(messages.linkVerifiedOn, { date: intl.formatDate(pair.get('verified_at'), dateFormatOptions) })}><Icon id='check' className='verified__mark' /></span>} <span dangerouslySetInnerHTML={{ __html: pair.get('value_emojified') }} />
|
|
|
|
|
</dd>
|
|
|
|
|
</dl>
|
|
|
|
|
))}
|
|
|
|
|
</div>
|
|
|
|
|
)}
|
|
|
|
|
|
|
|
|
|
{account.get('note').length > 0 && account.get('note') !== '<p></p>' && <div className='account__header__content' dangerouslySetInnerHTML={content} />}
|
|
|
|
|
{!suspended && (
|
|
|
|
|
<div className='account__header__extra'>
|
|
|
|
|
<div className='account__header__bio'>
|
|
|
|
|
{ (fields.size > 0 || identity_proofs.size > 0) && (
|
|
|
|
|
<div className='account__header__fields'>
|
|
|
|
|
{identity_proofs.map((proof, i) => (
|
|
|
|
|
<dl key={i}>
|
|
|
|
|
<dt dangerouslySetInnerHTML={{ __html: proof.get('provider') }} />
|
|
|
|
|
|
|
|
|
|
<dd className='verified'>
|
|
|
|
|
<a href={proof.get('proof_url')} target='_blank' rel='noopener noreferrer'><span title={intl.formatMessage(messages.linkVerifiedOn, { date: intl.formatDate(proof.get('updated_at'), dateFormatOptions) })}>
|
|
|
|
|
<Icon id='check' className='verified__mark' />
|
|
|
|
|
</span></a>
|
|
|
|
|
<a href={proof.get('profile_url')} target='_blank' rel='noopener noreferrer'><span dangerouslySetInnerHTML={{ __html: ' '+proof.get('provider_username') }} /></a>
|
|
|
|
|
</dd>
|
|
|
|
|
</dl>
|
|
|
|
|
))}
|
|
|
|
|
{fields.map((pair, i) => (
|
|
|
|
|
<dl key={i}>
|
|
|
|
|
<dt dangerouslySetInnerHTML={{ __html: pair.get('name_emojified') }} title={pair.get('name')} />
|
|
|
|
|
|
|
|
|
|
<dd className={pair.get('verified_at') && 'verified'} title={pair.get('value_plain')}>
|
|
|
|
|
{pair.get('verified_at') && <span title={intl.formatMessage(messages.linkVerifiedOn, { date: intl.formatDate(pair.get('verified_at'), dateFormatOptions) })}><Icon id='check' className='verified__mark' /></span>} <span dangerouslySetInnerHTML={{ __html: pair.get('value_emojified') }} />
|
|
|
|
|
</dd>
|
|
|
|
|
</dl>
|
|
|
|
|
))}
|
|
|
|
|
</div>
|
|
|
|
|
)}
|
|
|
|
|
|
|
|
|
|
{account.get('note').length > 0 && account.get('note') !== '<p></p>' && <div className='account__header__content' dangerouslySetInnerHTML={content} />}
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
)}
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|