|
|
|
@ -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> |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|