Add confirm modal for unboosting toots (#10287)

[#3815]

Display the boost modal also when unboosting toots.
master
Aurélien Reeves 6 years ago committed by Eugen Rochko
parent f2be71c293
commit fe8a8f779e
  1. 16
      app/javascript/mastodon/containers/status_container.js
  2. 4
      app/javascript/mastodon/features/ui/components/boost_modal.js

@ -69,18 +69,18 @@ const mapDispatchToProps = (dispatch, { intl }) => ({
},
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 }));
}
},

@ -11,6 +11,7 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import Icon from 'mastodon/components/icon';
const messages = defineMessages({
cancel_reblog: { id: 'status.cancel_reblog_private', defaultMessage: 'Unboost' },
reblog: { id: 'status.reblog', defaultMessage: 'Boost' },
});
@ -51,6 +52,7 @@ class BoostModal extends ImmutablePureComponent {
render () {
const { status, intl } = this.props;
const buttonText = status.get('reblogged') ? messages.cancel_reblog : messages.reblog;
return (
<div className='modal-root__modal boost-modal'>
@ -76,7 +78,7 @@ class BoostModal extends ImmutablePureComponent {
<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>
);

Loading…
Cancel
Save