|
|
|
@ -116,9 +116,10 @@ export default class StatusActionBar extends ImmutablePureComponent { |
|
|
|
|
|
|
|
|
|
render () { |
|
|
|
|
const { status, me, intl, withDismiss } = this.props; |
|
|
|
|
const reblogDisabled = status.get('visibility') === 'private' || status.get('visibility') === 'direct'; |
|
|
|
|
|
|
|
|
|
const mutingConversation = status.get('muted'); |
|
|
|
|
const anonymousAccess = !me; |
|
|
|
|
const anonymousAccess = !me; |
|
|
|
|
const publicStatus = ['public', 'unlisted'].includes(status.get('visibility')); |
|
|
|
|
|
|
|
|
|
let menu = []; |
|
|
|
|
let reblogIcon = 'retweet'; |
|
|
|
@ -126,7 +127,11 @@ export default class StatusActionBar extends ImmutablePureComponent { |
|
|
|
|
let replyTitle; |
|
|
|
|
|
|
|
|
|
menu.push({ text: intl.formatMessage(messages.open), action: this.handleOpen }); |
|
|
|
|
menu.push({ text: intl.formatMessage(messages.embed), action: this.handleEmbed }); |
|
|
|
|
|
|
|
|
|
if (publicStatus) { |
|
|
|
|
menu.push({ text: intl.formatMessage(messages.embed), action: this.handleEmbed }); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
menu.push(null); |
|
|
|
|
|
|
|
|
|
if (withDismiss) { |
|
|
|
@ -135,7 +140,7 @@ export default class StatusActionBar extends ImmutablePureComponent { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (status.getIn(['account', 'id']) === me) { |
|
|
|
|
if (['public', 'unlisted'].indexOf(status.get('visibility')) !== -1) { |
|
|
|
|
if (publicStatus) { |
|
|
|
|
menu.push({ text: intl.formatMessage(status.get('pinned') ? messages.unpin : messages.pin), action: this.handlePinClick }); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -169,7 +174,7 @@ export default class StatusActionBar extends ImmutablePureComponent { |
|
|
|
|
return ( |
|
|
|
|
<div className='status__action-bar'> |
|
|
|
|
<IconButton className='status__action-bar-button' disabled={anonymousAccess} title={replyTitle} icon={replyIcon} onClick={this.handleReplyClick} /> |
|
|
|
|
<IconButton className='status__action-bar-button' disabled={anonymousAccess || reblogDisabled} active={status.get('reblogged')} pressed={status.get('reblogged')} title={reblogDisabled ? intl.formatMessage(messages.cannot_reblog) : intl.formatMessage(messages.reblog)} icon={reblogIcon} onClick={this.handleReblogClick} /> |
|
|
|
|
<IconButton className='status__action-bar-button' disabled={anonymousAccess || !publicStatus} active={status.get('reblogged')} pressed={status.get('reblogged')} title={!publicStatus ? intl.formatMessage(messages.cannot_reblog) : intl.formatMessage(messages.reblog)} icon={reblogIcon} onClick={this.handleReblogClick} /> |
|
|
|
|
<IconButton className='status__action-bar-button star-icon' disabled={anonymousAccess} animate active={status.get('favourited')} pressed={status.get('favourited')} title={intl.formatMessage(messages.favourite)} icon='star' onClick={this.handleFavouriteClick} /> |
|
|
|
|
{shareButton} |
|
|
|
|
|
|
|
|
|