From f98dfefb3503b7059b92ad272316b9c1f067383c Mon Sep 17 00:00:00 2001 From: Thibaut Girka Date: Fri, 7 Jun 2019 18:38:07 +0200 Subject: Add option to display a warning before boosting toots lacking media descriptions --- .../flavours/glitch/features/local_settings/page/index.js | 8 ++++++++ app/javascript/flavours/glitch/features/status/index.js | 10 +++++++--- .../flavours/glitch/features/ui/components/boost_modal.js | 11 +++++++++-- 3 files changed, 24 insertions(+), 5 deletions(-) (limited to 'app/javascript/flavours/glitch/features') diff --git a/app/javascript/flavours/glitch/features/local_settings/page/index.js b/app/javascript/flavours/glitch/features/local_settings/page/index.js index cd2d86713..8f5fc5401 100644 --- a/app/javascript/flavours/glitch/features/local_settings/page/index.js +++ b/app/javascript/flavours/glitch/features/local_settings/page/index.js @@ -51,6 +51,14 @@ export default class LocalSettingsPage extends React.PureComponent { + + +

{ + const { settings, dispatch } = this.props; + if (status.get('reblogged')) { - this.props.dispatch(unreblog(status)); + dispatch(unreblog(status)); } else { - if ((e && e.shiftKey) || !boostModal) { + if (settings.get('confirm_boost_missing_media_description') && status.get('media_attachments').some(item => !item.get('description'))) { + dispatch(openModal('BOOST', { status, onReblog: this.handleModalReblog, missingMediaDescription: true })); + } else if ((e && e.shiftKey) || !boostModal) { this.handleModalReblog(status); } else { - this.props.dispatch(openModal('BOOST', { status, onReblog: this.handleModalReblog })); + dispatch(openModal('BOOST', { status, onReblog: this.handleModalReblog })); } } } diff --git a/app/javascript/flavours/glitch/features/ui/components/boost_modal.js b/app/javascript/flavours/glitch/features/ui/components/boost_modal.js index ce7ec2479..81bd1e576 100644 --- a/app/javascript/flavours/glitch/features/ui/components/boost_modal.js +++ b/app/javascript/flavours/glitch/features/ui/components/boost_modal.js @@ -25,6 +25,7 @@ export default class BoostModal extends ImmutablePureComponent { status: ImmutablePropTypes.map.isRequired, onReblog: PropTypes.func.isRequired, onClose: PropTypes.func.isRequired, + missingMediaDescription: PropTypes.bool, intl: PropTypes.object.isRequired, }; @@ -52,7 +53,7 @@ export default class BoostModal extends ImmutablePureComponent { } render () { - const { status, intl } = this.props; + const { status, missingMediaDescription, intl } = this.props; const buttonText = status.get('reblogged') ? messages.cancel_reblog : messages.reblog; return ( @@ -78,7 +79,13 @@ export default class BoostModal extends ImmutablePureComponent {
-
Shift + }} />
+
+ { missingMediaDescription ? + + : + Shift + }} /> + } +
-- cgit