From 51f6c0738d20c18b24a637cc8469959808b335bd Mon Sep 17 00:00:00 2001 From: Belen Curcio Date: Mon, 11 Sep 2017 15:02:01 -0300 Subject: [PATCH] Containers --- .../client/containers/ApproveCommentAction.js | 32 +++++++++++++---- .../client/containers/RejectCommentAction.js | 34 ++++++++++++++----- 2 files changed, 51 insertions(+), 15 deletions(-) diff --git a/plugins/talk-plugin-moderation-actions/client/containers/ApproveCommentAction.js b/plugins/talk-plugin-moderation-actions/client/containers/ApproveCommentAction.js index 2c532801e..79c41d622 100644 --- a/plugins/talk-plugin-moderation-actions/client/containers/ApproveCommentAction.js +++ b/plugins/talk-plugin-moderation-actions/client/containers/ApproveCommentAction.js @@ -1,16 +1,24 @@ import React from 'react'; -import {withSetCommentStatus} from 'plugin-api/beta/client/hocs'; +import {compose} from 'react-apollo'; +import {bindActionCreators} from 'redux'; +import {getErrorMessages} from 'plugin-api/beta/client/utils'; +import {notify} from 'plugin-api/beta/client/actions/notification'; import ApproveCommentAction from '../components/ApproveCommentAction'; +import {connect, withSetCommentStatus} from 'plugin-api/beta/client/hocs'; class ApproveCommentActionContainer extends React.Component { approveComment = () => { const {setCommentStatus, comment} = this.props; - - setCommentStatus({ - commentId: comment.id, - status: 'ACCEPTED' - }); + + try { + setCommentStatus({ + commentId: comment.id, + status: 'ACCEPTED' + }); + } catch (err) { + notify('error', getErrorMessages(err)); + } } render() { @@ -18,4 +26,14 @@ class ApproveCommentActionContainer extends React.Component { } } -export default withSetCommentStatus(ApproveCommentActionContainer); +const mapDispatchToProps = (dispatch) => + bindActionCreators({ + notify, + }, dispatch); + +const enhance = compose( + connect(null, mapDispatchToProps), + withSetCommentStatus +); + +export default enhance(ApproveCommentActionContainer); diff --git a/plugins/talk-plugin-moderation-actions/client/containers/RejectCommentAction.js b/plugins/talk-plugin-moderation-actions/client/containers/RejectCommentAction.js index d4c317f4c..c6e3a6f8c 100644 --- a/plugins/talk-plugin-moderation-actions/client/containers/RejectCommentAction.js +++ b/plugins/talk-plugin-moderation-actions/client/containers/RejectCommentAction.js @@ -1,16 +1,24 @@ import React from 'react'; -import {withSetCommentStatus} from 'plugin-api/beta/client/hocs'; +import {compose} from 'react-apollo'; +import {bindActionCreators} from 'redux'; +import {getErrorMessages} from 'plugin-api/beta/client/utils'; +import {notify} from 'plugin-api/beta/client/actions/notification'; import RejectCommentAction from '../components/RejectCommentAction'; +import {connect, withSetCommentStatus} from 'plugin-api/beta/client/hocs'; class RejectCommentActionContainer extends React.Component { - rejectComment = () => { + approveComment = () => { const {setCommentStatus, comment} = this.props; - - setCommentStatus({ - commentId: comment.id, - status: 'REJECTED' - }); + + try { + setCommentStatus({ + commentId: comment.id, + status: 'REJECTED' + }); + } catch (err) { + notify('error', getErrorMessages(err)); + } } render() { @@ -18,4 +26,14 @@ class RejectCommentActionContainer extends React.Component { } } -export default withSetCommentStatus(RejectCommentActionContainer); +const mapDispatchToProps = (dispatch) => + bindActionCreators({ + notify, + }, dispatch); + +const enhance = compose( + connect(null, mapDispatchToProps), + withSetCommentStatus +); + +export default enhance(RejectCommentActionContainer);