Add confirm modal for unboosting toots (#10287)

[#3815]

Display the boost modal also when unboosting toots.
This commit is contained in:
Aurélien Reeves 2019-05-09 22:39:27 +02:00 committed by Eugen Rochko
parent f2be71c293
commit fe8a8f779e
2 changed files with 12 additions and 10 deletions

View File

@ -69,18 +69,18 @@ const mapDispatchToProps = (dispatch, { intl }) => ({
}, },
onModalReblog (status) { onModalReblog (status) {
dispatch(reblog(status));
},
onReblog (status, e) {
if (status.get('reblogged')) { if (status.get('reblogged')) {
dispatch(unreblog(status)); dispatch(unreblog(status));
} else { } else {
if (e.shiftKey || !boostModal) { dispatch(reblog(status));
this.onModalReblog(status); }
} else { },
dispatch(openModal('BOOST', { status, onReblog: this.onModalReblog }));
} onReblog (status, e) {
if (e.shiftKey || !boostModal) {
this.onModalReblog(status);
} else {
dispatch(openModal('BOOST', { status, onReblog: this.onModalReblog }));
} }
}, },

View File

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