},
onModalReblog (status) {
- dispatch(reblog(status));
+ if (status.get('reblogged')) {
+ dispatch(unreblog(status));
+ } else {
+ dispatch(reblog(status));
+ }
},
onReblog (status, e) {
- if (status.get('reblogged')) {
- dispatch(unreblog(status));
+ if (e.shiftKey || !boostModal) {
+ this.onModalReblog(status);
} else {
- if (e.shiftKey || !boostModal) {
- this.onModalReblog(status);
- } else {
- dispatch(openModal('BOOST', { status, onReblog: this.onModalReblog }));
- }
+ dispatch(openModal('BOOST', { status, onReblog: this.onModalReblog }));
}
},
import Icon from 'mastodon/components/icon';
const messages = defineMessages({
+ cancel_reblog: { id: 'status.cancel_reblog_private', defaultMessage: 'Unboost' },
reblog: { id: 'status.reblog', defaultMessage: 'Boost' },
});
render () {
const { status, intl } = this.props;
+ const buttonText = status.get('reblogged') ? messages.cancel_reblog : messages.reblog;
return (
<div className='modal-root__modal boost-modal'>
<div className='boost-modal__action-bar'>
<div><FormattedMessage id='boost_modal.combo' defaultMessage='You can press {combo} to skip this next time' values={{ combo: <span>Shift + <Icon id='retweet' /></span> }} /></div>
- <Button text={intl.formatMessage(messages.reblog)} onClick={this.handleReblog} ref={this.setRef} />
+ <Button text={intl.formatMessage(buttonText)} onClick={this.handleReblog} ref={this.setRef} />
</div>
</div>
);