about summary refs log tree commit diff
path: root/app/javascript/flavours/glitch/containers/status_container.js
diff options
context:
space:
mode:
authorbeatrix <beatrix.bitrot@gmail.com>2017-12-10 23:10:19 -0500
committerGitHub <noreply@github.com>2017-12-10 23:10:19 -0500
commit08b0861b961a0f5e68ccd6a21db463671723652d (patch)
tree70f43d6c81aeca94c868e9ea1fb375ddc8c9ec76 /app/javascript/flavours/glitch/containers/status_container.js
parent01a3461befbf12f5ae0763af28dbc364f7d8936c (diff)
parent0466aa8d08796a227b01b1f698911856a198c2ee (diff)
Merge pull request #250 from chriswmartin/fav-confirm-modal
add favourite confirmation modal
Diffstat (limited to 'app/javascript/flavours/glitch/containers/status_container.js')
-rw-r--r--app/javascript/flavours/glitch/containers/status_container.js14
1 files changed, 11 insertions, 3 deletions
diff --git a/app/javascript/flavours/glitch/containers/status_container.js b/app/javascript/flavours/glitch/containers/status_container.js
index b753de7b3..c0b9b5800 100644
--- a/app/javascript/flavours/glitch/containers/status_container.js
+++ b/app/javascript/flavours/glitch/containers/status_container.js
@@ -20,7 +20,7 @@ import { initMuteModal } from 'flavours/glitch/actions/mutes';
 import { initReport } from 'flavours/glitch/actions/reports';
 import { openModal } from 'flavours/glitch/actions/modal';
 import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
-import { boostModal, deleteModal } from 'flavours/glitch/util/initial_state';
+import { boostModal, favouriteModal, deleteModal } from 'flavours/glitch/util/initial_state';
 
 const messages = defineMessages({
   deleteConfirm: { id: 'confirmations.delete.confirm', defaultMessage: 'Delete' },
@@ -78,11 +78,19 @@ const mapDispatchToProps = (dispatch, { intl }) => ({
     }
   },
 
-  onFavourite (status) {
+  onModalFavourite (status) {
+    dispatch(favourite(status));
+  },
+
+  onFavourite (status, e) {
     if (status.get('favourited')) {
       dispatch(unfavourite(status));
     } else {
-      dispatch(favourite(status));
+      if (e.shiftKey || !favouriteModal) {
+        this.onModalFavourite(status);
+      } else {
+        dispatch(openModal('FAVOURITE', { status, onFavourite: this.onModalFavourite }));
+      }
     }
   },