@ -11,10 +11,12 @@ import VerificationBadge from 'soapbox/components/verification_badge';
import Badge from 'soapbox/components/badge' ;
import { List as ImmutableList } from 'immutable' ;
import { acctFull , isAdmin , isModerator } from 'soapbox/utils/accounts' ;
import classNames from 'classnames' ;
const messages = defineMessages ( {
linkVerifiedOn : { id : 'account.link_verified_on' , defaultMessage : 'Ownership of this link was checked on {date}' } ,
account _locked : { id : 'account.locked_info' , defaultMessage : 'This account privacy status is set to locked. The owner manually reviews who can follow them.' } ,
deactivated : { id : 'account.deactivated' , defaultMessage : 'Deactivated' } ,
} ) ;
const dateFormatOptions = {
@ -57,23 +59,25 @@ class ProfileInfoPanel extends ImmutablePureComponent {
const badge = account . get ( 'bot' ) ? ( < div className = 'account-role bot' > < FormattedMessage id = 'account.badges.bot' defaultMessage = 'Bot' / > < / d i v > ) : n u l l ;
const content = { _ _html : account . get ( 'note_emojified' ) } ;
const fields = account . get ( 'fields' ) ;
const displayNameHtml = { _ _html : account . get ( 'display_name_html' ) } ;
const deactivated = account . getIn ( [ 'pleroma' , 'deactivated' ] , false ) ;
const displayNameHtml = deactivated ? { _ _html : intl . formatMessage ( messages . deactivated ) } : { _ _html : account . get ( 'display_name_html' ) } ;
const memberSinceDate = intl . formatDate ( account . get ( 'created_at' ) , { month : 'long' , year : 'numeric' } ) ;
const verified = account . get ( 'pleroma' ) . get ( 'tags' ) . includes ( 'verified' ) ;
const verified = account . get In( [ 'pleroma' , 'tags' ] , ImmutableList ( ) ) . includes ( 'verified' ) ;
return (
< div className = 'profile-info-panel' >
< div className = { classNames ( 'profile-info-panel' , { 'deactivated' : deactivated } ) } >
< div className = 'profile-info-panel__content' >
< div className = 'profile-info-panel-content__name' >
< h1 >
< span dangerouslySetInnerHTML = { displayNameHtml } / >
< span dangerouslySetInnerHTML = { displayNameHtml } className = 'profile-info-panel__name-content' / >
{ verified && < VerificationBadge / > }
{ badge }
< small > @ { acctFull ( account ) } { lockedIcon } < / s m a l l >
{ ! deactivated && < small > @ { acctFull ( account ) } { lockedIcon } < / s m a l l > }
< / h 1 >
< / d i v >
{ ! deactivated &&
< div className = 'profile-info-panel-content__badges' >
{ isAdmin ( account ) && < Badge slug = 'admin' title = 'Admin' / > }
{ isModerator ( account ) && < Badge slug = 'moderator' title = 'Moderator' / > }
@ -87,6 +91,15 @@ class ProfileInfoPanel extends ImmutablePureComponent {
/ >
< / d i v > }
< / d i v >
}
{ deactivated &&
< div className = 'profile-info-panel-content__deactivated' >
< FormattedMessage
id = 'account.deactivated_description' defaultMessage = 'This account has been deactivated.'
/ >
< / d i v >
}
{
( account . get ( 'note' ) . length > 0 && account . get ( 'note' ) !== '<p></p>' ) &&