From 918aa6988b5b190de900121694fdbff9c8d7c53a Mon Sep 17 00:00:00 2001 From: okbel Date: Fri, 5 Jan 2018 14:50:35 -0300 Subject: [PATCH] Adding a UI reducer to manage UI state --- .../coral-admin/src/components/UserDetail.js | 3 +- .../coral-admin/src/containers/UserDetail.js | 1 + client/coral-admin/src/reducers/index.js | 2 ++ client/coral-admin/src/reducers/ui.js | 33 +++++++++++++++++++ 4 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 client/coral-admin/src/reducers/ui.js diff --git a/client/coral-admin/src/components/UserDetail.js b/client/coral-admin/src/components/UserDetail.js index 25f21c8f6..b75793ab7 100644 --- a/client/coral-admin/src/components/UserDetail.js +++ b/client/coral-admin/src/components/UserDetail.js @@ -116,6 +116,7 @@ class UserDetail extends React.Component { toggleSelectAll, unbanUser, unsuspendUser, + modal, } = this.props; // if totalComments is 0, you're dividing by zero @@ -129,7 +130,7 @@ class UserDetail extends React.Component { const suspended = isSuspended(user); return ( - +

{user.username} diff --git a/client/coral-admin/src/containers/UserDetail.js b/client/coral-admin/src/containers/UserDetail.js index 972194854..a23ad4c0e 100644 --- a/client/coral-admin/src/containers/UserDetail.js +++ b/client/coral-admin/src/containers/UserDetail.js @@ -230,6 +230,7 @@ const mapStateToProps = (state) => ({ selectedCommentIds: state.userDetail.selectedCommentIds, statuses: state.userDetail.statuses, activeTab: state.userDetail.activeTab, + modal: state.ui.modal }); const mapDispatchToProps = (dispatch) => ({ diff --git a/client/coral-admin/src/reducers/index.js b/client/coral-admin/src/reducers/index.js index 450a914c3..11801a379 100644 --- a/client/coral-admin/src/reducers/index.js +++ b/client/coral-admin/src/reducers/index.js @@ -8,6 +8,7 @@ import config from './config'; import banUserDialog from './banUserDialog'; import suspendUserDialog from './suspendUserDialog'; import userDetail from './userDetail'; +import ui from './ui'; export default { auth, @@ -20,4 +21,5 @@ export default { moderation, install, config, + ui, }; diff --git a/client/coral-admin/src/reducers/ui.js b/client/coral-admin/src/reducers/ui.js new file mode 100644 index 000000000..6b60eb7a3 --- /dev/null +++ b/client/coral-admin/src/reducers/ui.js @@ -0,0 +1,33 @@ +import {SHOW_BAN_USER_DIALOG, HIDE_BAN_USER_DIALOG} from '../constants/banUserDialog'; +import {SHOW_SUSPEND_USER_DIALOG, HIDE_SUSPEND_USER_DIALOG} from '../constants/suspendUserDialog'; + +const initialState = { + modal: false +}; + +export default function config (state = initialState, action) { + switch (action.type) { + case SHOW_BAN_USER_DIALOG: + return { + ...state, + modal: true, + }; + case SHOW_SUSPEND_USER_DIALOG: + return { + ...state, + modal: true, + }; + case HIDE_BAN_USER_DIALOG: + return { + ...state, + modal: false, + }; + case HIDE_SUSPEND_USER_DIALOG: + return { + ...state, + modal: false, + }; + default: + return state; + } +}