From edac21a4f47f8c8c3a866c761b8e1ecf6adf1451 Mon Sep 17 00:00:00 2001 From: Chi Vinh Le Date: Fri, 2 Feb 2018 11:52:42 +0100 Subject: [PATCH 1/2] Fix Flag Menu not working --- .../src/tabs/stream/components/FlagButton.js | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/client/coral-embed-stream/src/tabs/stream/components/FlagButton.js b/client/coral-embed-stream/src/tabs/stream/components/FlagButton.js index bc673ba28..b1974db36 100644 --- a/client/coral-embed-stream/src/tabs/stream/components/FlagButton.js +++ b/client/coral-embed-stream/src/tabs/stream/components/FlagButton.js @@ -8,6 +8,7 @@ import ClickOutside from 'coral-framework/components/ClickOutside'; import cn from 'classnames'; import styles from './FlagButton.css'; import * as REASONS from 'coral-framework/graphql/flagReasons'; +import PropTypes from 'prop-types'; import { getErrorMessages, forEachError } from 'coral-framework/utils'; @@ -77,9 +78,8 @@ export default class FlagButton extends Component { return; } break; - case this.props.getPopupMenu.length: - this.closeMenu(); - return; + default: + throw new Error(`Unexpected step ${step}`); } // If itemType and reason are both set, post the action @@ -92,6 +92,8 @@ export default class FlagButton extends Component { case 'USERS': item_id = author_id; break; + default: + throw new Error(`Unexpected itemType ${itemType}`); } let action = { @@ -132,6 +134,10 @@ export default class FlagButton extends Component { } if (!failed) { + if (step === this.props.getPopupMenu.length - 1) { + this.closeMenu(); + return; + } this.setState({ step: step + 1 }); } }; @@ -272,3 +278,12 @@ export default class FlagButton extends Component { ); } } + +FlagButton.propTypes = { + currentUser: PropTypes.object, + showSignInDialog: PropTypes.func, + notify: PropTypes.func, + getPopupMenu: PropTypes.array, + flaggedByCurrentUser: PropTypes.bool, + banned: PropTypes.bool, +}; From ac67b0484b283cc7a1c06316130ff6ec66e6f348 Mon Sep 17 00:00:00 2001 From: Chi Vinh Le Date: Fri, 2 Feb 2018 12:12:58 +0100 Subject: [PATCH 2/2] Better fix --- .../src/tabs/stream/components/FlagButton.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/client/coral-embed-stream/src/tabs/stream/components/FlagButton.js b/client/coral-embed-stream/src/tabs/stream/components/FlagButton.js index b1974db36..002297415 100644 --- a/client/coral-embed-stream/src/tabs/stream/components/FlagButton.js +++ b/client/coral-embed-stream/src/tabs/stream/components/FlagButton.js @@ -78,6 +78,8 @@ export default class FlagButton extends Component { return; } break; + case 2: + return this.closeMenu(); default: throw new Error(`Unexpected step ${step}`); } @@ -134,10 +136,6 @@ export default class FlagButton extends Component { } if (!failed) { - if (step === this.props.getPopupMenu.length - 1) { - this.closeMenu(); - return; - } this.setState({ step: step + 1 }); } };