about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2017-02-14 23:59:46 +0100
committerEugen Rochko <eugen@zeonfederated.com>2017-02-15 00:01:52 +0100
commit0a2427f79b90f82100b3a4ebe95ceb488cbb5a1d (patch)
tree40b3811830cba31bd0ba997b6ef900cdf3f849f7
parente571a018531c55f21f29d9e79cfe6161a0bc248a (diff)
Fix #634 - Only include innermost-level statuses in report UI
Fix #635 - Include the initially-reported status in report UI even if it's not
among the user's most recent statuses
-rw-r--r--app/assets/javascripts/components/features/report/components/status_check_box.jsx4
-rw-r--r--app/assets/javascripts/components/features/report/index.jsx2
-rw-r--r--app/assets/javascripts/components/reducers/reports.jsx4
3 files changed, 7 insertions, 3 deletions
diff --git a/app/assets/javascripts/components/features/report/components/status_check_box.jsx b/app/assets/javascripts/components/features/report/components/status_check_box.jsx
index df4a31457..6d976582b 100644
--- a/app/assets/javascripts/components/features/report/components/status_check_box.jsx
+++ b/app/assets/javascripts/components/features/report/components/status_check_box.jsx
@@ -18,6 +18,10 @@ const StatusCheckBox = React.createClass({
     const { status, checked, onToggle, disabled } = this.props;
     const content = { __html: emojify(status.get('content')) };
 
+    if (status.get('reblog')) {
+      return null;
+    }
+
     return (
       <div className='status-check-box' style={{ display: 'flex' }}>
         <div
diff --git a/app/assets/javascripts/components/features/report/index.jsx b/app/assets/javascripts/components/features/report/index.jsx
index eb8d28fe8..3177d28b1 100644
--- a/app/assets/javascripts/components/features/report/index.jsx
+++ b/app/assets/javascripts/components/features/report/index.jsx
@@ -27,7 +27,7 @@ const makeMapStateToProps = () => {
       isSubmitting: state.getIn(['reports', 'new', 'isSubmitting']),
       account: getAccount(state, accountId),
       comment: state.getIn(['reports', 'new', 'comment']),
-      statusIds: state.getIn(['timelines', 'accounts_timelines', accountId, 'items'], Immutable.List())
+      statusIds: Immutable.OrderedSet(state.getIn(['timelines', 'accounts_timelines', accountId, 'items'])).union(state.getIn(['reports', 'new', 'status_ids']))
     };
   };
 
diff --git a/app/assets/javascripts/components/reducers/reports.jsx b/app/assets/javascripts/components/reducers/reports.jsx
index 272aff3e5..e1cce1c5f 100644
--- a/app/assets/javascripts/components/reducers/reports.jsx
+++ b/app/assets/javascripts/components/reducers/reports.jsx
@@ -25,10 +25,10 @@ export default function reports(state = initialState, action) {
       map.setIn(['new', 'account_id'], action.account.get('id'));
 
       if (state.getIn(['new', 'account_id']) !== action.account.get('id')) {
-        map.setIn(['new', 'status_ids'], action.status ? Immutable.Set([action.status.get('id')]) : Immutable.Set());
+        map.setIn(['new', 'status_ids'], action.status ? Immutable.Set([action.status.getIn(['reblog', 'id'], action.status.get('id'))]) : Immutable.Set());
         map.setIn(['new', 'comment'], '');
       } else {
-        map.updateIn(['new', 'status_ids'], Immutable.Set(), set => set.add(action.status.get('id')));
+        map.updateIn(['new', 'status_ids'], Immutable.Set(), set => set.add(action.status.getIn(['reblog', 'id'], action.status.get('id'))));
       }
     });
   case REPORT_STATUS_TOGGLE: