From e2f24cdd6b9a777d0862284b7112dd0a57fd9a85 Mon Sep 17 00:00:00 2001 From: Justin Date: Tue, 3 May 2022 08:13:26 -0400 Subject: [PATCH] Account for multiple rules --- .../components/modals/report-modal/steps/reason-step.tsx | 4 ++-- app/soapbox/reducers/reports.js | 8 +++++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/app/soapbox/features/ui/components/modals/report-modal/steps/reason-step.tsx b/app/soapbox/features/ui/components/modals/report-modal/steps/reason-step.tsx index 1badbe94f..e50c47741 100644 --- a/app/soapbox/features/ui/components/modals/report-modal/steps/reason-step.tsx +++ b/app/soapbox/features/ui/components/modals/report-modal/steps/reason-step.tsx @@ -116,11 +116,11 @@ const ReasonStep = (_props: IReasonStep) => { ); diff --git a/app/soapbox/reducers/reports.js b/app/soapbox/reducers/reports.js index 4103e4bf5..3f56e67b8 100644 --- a/app/soapbox/reducers/reports.js +++ b/app/soapbox/reducers/reports.js @@ -54,7 +54,13 @@ export default function reports(state = initialState, action) { case REPORT_BLOCK_CHANGE: return state.setIn(['new', 'block'], action.block); case REPORT_RULE_CHANGE: - return state.setIn(['new', 'rule_ids'], ImmutableSet([action.rule_id])); + return state.updateIn(['new', 'rule_ids'], ImmutableSet(), (set) => { + if (set.includes(action.rule_id)) { + return set.remove(action.rule_id); + } + + return set.add(action.rule_id); + }); case REPORT_SUBMIT_REQUEST: return state.setIn(['new', 'isSubmitting'], true); case REPORT_SUBMIT_FAIL: