@ -13,6 +13,7 @@ const messages = defineMessages({
unfollow : { id : 'account.unfollow' , defaultMessage : 'Unfollow' } ,
follow : { id : 'account.follow' , defaultMessage : 'Follow' } ,
requested : { id : 'account.requested' , defaultMessage : 'Awaiting approval. Click to cancel follow request' } ,
unblock : { id : 'account.unblock' , defaultMessage : 'Unblock @{name}' } ,
} ) ;
class Avatar extends ImmutablePureComponent {
@ -69,6 +70,7 @@ export default class Header extends ImmutablePureComponent {
static propTypes = {
account : ImmutablePropTypes . map ,
onFollow : PropTypes . func . isRequired ,
onBlock : PropTypes . func . isRequired ,
intl : PropTypes . object . isRequired ,
} ;
@ -80,11 +82,18 @@ export default class Header extends ImmutablePureComponent {
}
let info = '' ;
let mutingInfo = '' ;
let actionBtn = '' ;
let lockedIcon = '' ;
if ( me !== account . get ( 'id' ) && account . getIn ( [ 'relationship' , 'followed_by' ] ) ) {
info = < span className = 'account--follows-info' > < FormattedMessage id = 'account.follows_you' defaultMessage = 'Follows you' / > < / s p a n > ;
} else if ( me !== account . get ( 'id' ) && account . getIn ( [ 'relationship' , 'blocking' ] ) ) {
info = < span className = 'account--follows-info' > < FormattedMessage id = 'account.blocked' defaultMessage = 'Blocked' / > < / s p a n > ;
}
if ( me !== account . get ( 'id' ) && account . getIn ( [ 'relationship' , 'muting' ] ) ) {
mutingInfo = < span className = 'account--muting-info' > < FormattedMessage id = 'account.muted' defaultMessage = 'Muted' / > < / s p a n > ;
}
if ( me !== account . get ( 'id' ) ) {
@ -100,6 +109,12 @@ export default class Header extends ImmutablePureComponent {
< IconButton size = { 26 } icon = { account . getIn ( [ 'relationship' , 'following' ] ) ? 'user-times' : 'user-plus' } active = { account . getIn ( [ 'relationship' , 'following' ] ) } title = { intl . formatMessage ( account . getIn ( [ 'relationship' , 'following' ] ) ? messages . unfollow : messages . follow ) } onClick = { this . props . onFollow } / >
< / d i v >
) ;
} else if ( account . getIn ( [ 'relationship' , 'blocking' ] ) ) {
actionBtn = (
< div className = 'account--action-button' >
< IconButton size = { 26 } icon = 'unlock-alt' title = { intl . formatMessage ( messages . unblock , { name : account . get ( 'username' ) } ) } onClick = { this . props . onBlock } / >
< / d i v >
) ;
}
}
@ -124,6 +139,7 @@ export default class Header extends ImmutablePureComponent {
< div className = 'account__header__content' dangerouslySetInnerHTML = { content } / >
{ info }
{ mutingInfo }
{ actionBtn }
< / d i v >
< / d i v >