diff options
author | ThibG <thib@sitedethib.com> | 2018-09-21 18:54:17 +0200 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2018-09-21 18:54:17 +0200 |
commit | 05f90e3695c410526fc7fa79fc6a9bdaa717cb87 (patch) | |
tree | 5d0909a0e33bf2d0840c615deedb953ecd6e9b4a | |
parent | 56efc281895f4de19fd5ade241526fed454a7f8b (diff) |
Adjust beforeUnload conditions (#8746)
Fixes #8701
-rw-r--r-- | app/javascript/mastodon/features/ui/index.js | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/app/javascript/mastodon/features/ui/index.js b/app/javascript/mastodon/features/ui/index.js index 2781c5d64..fb6f675f4 100644 --- a/app/javascript/mastodon/features/ui/index.js +++ b/app/javascript/mastodon/features/ui/index.js @@ -59,7 +59,8 @@ const messages = defineMessages({ const mapStateToProps = state => ({ isComposing: state.getIn(['compose', 'is_composing']), - hasComposingText: state.getIn(['compose', 'text']) !== '', + hasComposingText: state.getIn(['compose', 'text']).trim().length !== 0, + hasMediaAttachments: state.getIn(['compose', 'media_attachments']).size > 0, dropdownMenuIsOpen: state.getIn(['dropdown_menu', 'openId']) !== null, }); @@ -201,6 +202,7 @@ class UI extends React.PureComponent { children: PropTypes.node, isComposing: PropTypes.bool, hasComposingText: PropTypes.bool, + hasMediaAttachments: PropTypes.bool, location: PropTypes.object, intl: PropTypes.object.isRequired, dropdownMenuIsOpen: PropTypes.bool, @@ -211,9 +213,9 @@ class UI extends React.PureComponent { }; handleBeforeUnload = (e) => { - const { intl, isComposing, hasComposingText } = this.props; + const { intl, isComposing, hasComposingText, hasMediaAttachments } = this.props; - if (isComposing && hasComposingText) { + if (isComposing && (hasComposingText || hasMediaAttachments)) { // Setting returnValue to any string causes confirmation dialog. // Many browsers no longer display this text to users, // but we set user-friendly message for other browsers, e.g. Edge. |