|
|
|
@ -35,6 +35,8 @@ import FollowRequestNoteContainer from '../containers/follow_request_note_contai
|
|
|
|
|
const messages = defineMessages({
|
|
|
|
|
unfollow: { id: 'account.unfollow', defaultMessage: 'Unfollow' },
|
|
|
|
|
follow: { id: 'account.follow', defaultMessage: 'Follow' },
|
|
|
|
|
followBack: { id: 'account.follow_back', defaultMessage: 'Follow back' },
|
|
|
|
|
mutual: { id: 'account.mutual', defaultMessage: 'Mutual' },
|
|
|
|
|
cancel_follow_request: { id: 'account.cancel_follow_request', defaultMessage: 'Withdraw follow request' },
|
|
|
|
|
requested: { id: 'account.requested', defaultMessage: 'Awaiting approval. Click to cancel follow request' },
|
|
|
|
|
unblock: { id: 'account.unblock', defaultMessage: 'Unblock @{name}' },
|
|
|
|
@ -82,6 +84,18 @@ const titleFromAccount = account => {
|
|
|
|
|
return `${prefix} (@${acct})`;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const messageForFollowButton = relationship => {
|
|
|
|
|
if (relationship.get('following') && relationship.get('followed_by')) {
|
|
|
|
|
return messages.mutual;
|
|
|
|
|
} else if (!relationship.get('following') && relationship.get('followed_by')) {
|
|
|
|
|
return messages.followBack;
|
|
|
|
|
} else if (relationship.get('following')) {
|
|
|
|
|
return messages.unfollow;
|
|
|
|
|
} else {
|
|
|
|
|
return messages.follow;
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const dateFormatOptions = {
|
|
|
|
|
month: 'short',
|
|
|
|
|
day: 'numeric',
|
|
|
|
@ -253,9 +267,7 @@ class Header extends ImmutablePureComponent {
|
|
|
|
|
let info = [];
|
|
|
|
|
let menu = [];
|
|
|
|
|
|
|
|
|
|
if (me !== account.get('id') && account.getIn(['relationship', 'followed_by'])) {
|
|
|
|
|
info.push(<span key='followed_by' className='relationship-tag'><FormattedMessage id='account.follows_you' defaultMessage='Follows you' /></span>);
|
|
|
|
|
} else if (me !== account.get('id') && account.getIn(['relationship', 'blocking'])) {
|
|
|
|
|
if (me !== account.get('id') && account.getIn(['relationship', 'blocking'])) {
|
|
|
|
|
info.push(<span key='blocked' className='relationship-tag'><FormattedMessage id='account.blocked' defaultMessage='Blocked' /></span>);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -281,7 +293,7 @@ class Header extends ImmutablePureComponent {
|
|
|
|
|
} else if (account.getIn(['relationship', 'requested'])) {
|
|
|
|
|
actionBtn = <Button text={intl.formatMessage(messages.cancel_follow_request)} title={intl.formatMessage(messages.requested)} onClick={this.props.onFollow} />;
|
|
|
|
|
} else if (!account.getIn(['relationship', 'blocking'])) {
|
|
|
|
|
actionBtn = <Button disabled={account.getIn(['relationship', 'blocked_by'])} className={classNames({ 'button--destructive': account.getIn(['relationship', 'following']) })} text={intl.formatMessage(account.getIn(['relationship', 'following']) ? messages.unfollow : messages.follow)} onClick={signedIn ? this.props.onFollow : this.props.onInteractionModal} />;
|
|
|
|
|
actionBtn = <Button disabled={account.getIn(['relationship', 'blocked_by'])} className={classNames({ 'button--destructive': account.getIn(['relationship', 'following']) })} text={intl.formatMessage(messageForFollowButton(account.get('relationship')))} onClick={signedIn ? this.props.onFollow : this.props.onInteractionModal} />;
|
|
|
|
|
} else if (account.getIn(['relationship', 'blocking'])) {
|
|
|
|
|
actionBtn = <Button text={intl.formatMessage(messages.unblock, { name: account.get('username') })} onClick={this.props.onBlock} />;
|
|
|
|
|
}
|
|
|
|
|