about summary refs log tree commit diff
path: root/app/assets/javascripts/components/features/ui/containers/status_list_container.jsx
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2016-10-02 15:14:26 +0200
committerEugen Rochko <eugen@zeonfederated.com>2016-10-02 15:14:26 +0200
commit1fce687f8e03d78b4b842422fc6621bba439e1cd (patch)
tree793851bc7434318ca2521b989adde66981072b59 /app/assets/javascripts/components/features/ui/containers/status_list_container.jsx
parent4909bbf415ca02093d0223d0d478eb06cb5cf78b (diff)
Unreblogging and unfavouriting from the UI
Diffstat (limited to 'app/assets/javascripts/components/features/ui/containers/status_list_container.jsx')
-rw-r--r--app/assets/javascripts/components/features/ui/containers/status_list_container.jsx19
1 files changed, 16 insertions, 3 deletions
diff --git a/app/assets/javascripts/components/features/ui/containers/status_list_container.jsx b/app/assets/javascripts/components/features/ui/containers/status_list_container.jsx
index 7a8407b09..605216eba 100644
--- a/app/assets/javascripts/components/features/ui/containers/status_list_container.jsx
+++ b/app/assets/javascripts/components/features/ui/containers/status_list_container.jsx
@@ -1,7 +1,12 @@
 import { connect }           from 'react-redux';
 import StatusList            from '../../../components/status_list';
 import { replyCompose }      from '../../../actions/compose';
-import { reblog, favourite } from '../../../actions/interactions';
+import {
+  reblog,
+  favourite,
+  unreblog,
+  unfavourite
+}                            from '../../../actions/interactions';
 import { expandTimeline }    from '../../../actions/timelines';
 import { selectStatus }      from '../../../reducers/timelines';
 import { deleteStatus }      from '../../../actions/statuses';
@@ -20,11 +25,19 @@ const mapDispatchToProps = function (dispatch, props) {
     },
 
     onFavourite (status) {
-      dispatch(favourite(status));
+      if (status.get('favourited')) {
+        dispatch(unfavourite(status));
+      } else {
+        dispatch(favourite(status));
+      }
     },
 
     onReblog (status) {
-      dispatch(reblog(status));
+      if (status.get('reblogged')) {
+        dispatch(unreblog(status));
+      } else {
+        dispatch(reblog(status));
+      }
     },
 
     onScrollToBottom () {