commit: 0a2427f79b90f82100b3a4ebe95ceb488cbb5a1d
parent: e571a018531c55f21f29d9e79cfe6161a0bc248a
Author: Eugen Rochko <eugen@zeonfederated.com>
Date: Tue, 14 Feb 2017 23:59:46 +0100
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
Diffstat:
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
@@ -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
@@ -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
@@ -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: