From 837a586234eba5949266b56c6cd8f08f707db81e Mon Sep 17 00:00:00 2001 From: Belen Curcio Date: Thu, 14 Sep 2017 09:26:33 -0300 Subject: [PATCH] Ban User confirmation box --- .../client/actions.js | 3 ++- .../client/components/BanUserAction.js | 4 ++-- .../client/containers/BanUserAction.js | 7 +++++-- .../client/containers/BanUserDialog.js | 14 +++++++++----- .../client/reducer.js | 9 ++++++--- 5 files changed, 24 insertions(+), 13 deletions(-) diff --git a/plugins/talk-plugin-moderation-actions/client/actions.js b/plugins/talk-plugin-moderation-actions/client/actions.js index 9811bee91..8bca6bde2 100644 --- a/plugins/talk-plugin-moderation-actions/client/actions.js +++ b/plugins/talk-plugin-moderation-actions/client/actions.js @@ -9,8 +9,9 @@ export const closeMenu = () => ({ type: CLOSE_MENU, }); -export const openDialog = () => ({ +export const openDialog = (comment) => ({ type: OPEN_DIALOG, + comment }); export const closeDialog = () => ({ diff --git a/plugins/talk-plugin-moderation-actions/client/components/BanUserAction.js b/plugins/talk-plugin-moderation-actions/client/components/BanUserAction.js index 4ee28c24e..36f9b1489 100644 --- a/plugins/talk-plugin-moderation-actions/client/components/BanUserAction.js +++ b/plugins/talk-plugin-moderation-actions/client/components/BanUserAction.js @@ -4,10 +4,10 @@ import {t} from 'plugin-api/beta/client/services'; import {Icon} from 'plugin-api/beta/client/components/ui'; import cn from 'classnames'; -export default ({openDialog}) => ( +export default ({onBanUser}) => ( diff --git a/plugins/talk-plugin-moderation-actions/client/containers/BanUserAction.js b/plugins/talk-plugin-moderation-actions/client/containers/BanUserAction.js index 62019cdcd..18ca2b743 100644 --- a/plugins/talk-plugin-moderation-actions/client/containers/BanUserAction.js +++ b/plugins/talk-plugin-moderation-actions/client/containers/BanUserAction.js @@ -3,13 +3,16 @@ import {compose} from 'react-apollo'; import {openDialog} from '../actions'; import {bindActionCreators} from 'redux'; import BanUserAction from '../components/BanUserAction'; -import {notify} from 'plugin-api/beta/client/actions/notification'; import {connect, excludeIf} from 'plugin-api/beta/client/hocs'; class BanUserActionContainer extends React.Component { + onBanUser = () => { + this.props.openDialog(this.props.comment); + } + render() { return ; diff --git a/plugins/talk-plugin-moderation-actions/client/containers/BanUserDialog.js b/plugins/talk-plugin-moderation-actions/client/containers/BanUserDialog.js index f1c18b3e7..8302b05bf 100644 --- a/plugins/talk-plugin-moderation-actions/client/containers/BanUserDialog.js +++ b/plugins/talk-plugin-moderation-actions/client/containers/BanUserDialog.js @@ -2,7 +2,7 @@ import React from 'react'; import {compose} from 'react-apollo'; import {bindActionCreators} from 'redux'; -import {closeDialog} from '../actions'; +import {closeDialog, closeMenu} from '../actions'; import {notify} from 'plugin-api/beta/client/actions/notification'; import {connect, withSetCommentStatus, withSetUserStatus} from 'plugin-api/beta/client/hocs'; import {getErrorMessages} from 'plugin-api/beta/client/utils'; @@ -14,7 +14,8 @@ class BanUserDialogContainer extends React.Component { const { notify, comment, - hideMenu, + closeMenu, + closeDialog, setCommentStatus, setUserStatus } = this.props; @@ -25,7 +26,8 @@ class BanUserDialogContainer extends React.Component { status: 'BANNED' }); - hideMenu(); + closeMenu(); + closeDialog(); if (comment.status !== 'REJECTED') { await setCommentStatus({ @@ -52,12 +54,14 @@ class BanUserDialogContainer extends React.Component { const mapStateToProps = ({talkPluginModerationActions: state}) => ({ showDialog: state.showDialog, + comment: state.comment }); const mapDispatchToProps = (dispatch) => bindActionCreators({ notify, - closeDialog + closeDialog, + closeMenu }, dispatch); const enhance = compose( @@ -66,4 +70,4 @@ const enhance = compose( withSetUserStatus ); -export default enhance(BanUserDialogContainer); \ No newline at end of file +export default enhance(BanUserDialogContainer); diff --git a/plugins/talk-plugin-moderation-actions/client/reducer.js b/plugins/talk-plugin-moderation-actions/client/reducer.js index 4165fbf15..c57df5f6f 100644 --- a/plugins/talk-plugin-moderation-actions/client/reducer.js +++ b/plugins/talk-plugin-moderation-actions/client/reducer.js @@ -2,7 +2,8 @@ import {OPEN_MENU, CLOSE_MENU, OPEN_DIALOG, CLOSE_DIALOG} from './constants'; const initialState = { showMenuForComment: null, - showDialog: false + showDialog: false, + comment: null }; export default function reducer(state = initialState, action) { @@ -20,12 +21,14 @@ export default function reducer(state = initialState, action) { case OPEN_DIALOG: return { ...state, - showDialog: true + showDialog: true, + comment: action.comment }; case CLOSE_DIALOG: return { ...state, - showDialog: false + showDialog: false, + comment: null }; default : return state;