From 894fec9fb6412a006411d7b51e076018e544bb47 Mon Sep 17 00:00:00 2001 From: Belen Curcio Date: Fri, 10 Feb 2017 17:55:51 -0300 Subject: [PATCH] adding context for moderation --- .../src/components/ActionButton.js | 38 ++++++++---------- .../src/components/ModerationList.css | 11 +++--- .../ModerationQueue/ModerationContainer.js | 5 +-- .../ModerationQueue/ModerationQueue.js | 2 + .../ModerationQueue/components/Comment.js | 38 +++++++----------- .../ModerationQueue/components/styles.css | 22 +++++++++++ .../src/containers/Streams/StreamsTable.js | 39 ------------------- .../src/graphql/fragments/commentView.graphql | 5 +++ graph/mutators/user.js | 10 +---- 9 files changed, 69 insertions(+), 101 deletions(-) delete mode 100644 client/coral-admin/src/containers/Streams/StreamsTable.js diff --git a/client/coral-admin/src/components/ActionButton.js b/client/coral-admin/src/components/ActionButton.js index 61de1c669..09abdd266 100644 --- a/client/coral-admin/src/components/ActionButton.js +++ b/client/coral-admin/src/components/ActionButton.js @@ -4,43 +4,39 @@ import I18n from 'coral-framework/modules/i18n/i18n'; import translations from '../translations.json'; import {FabButton, Button, Icon} from 'coral-ui'; -const ActionButton = ({option, type, comment = {}, user, menuOptionsMap, onClickAction, onClickShowBanDialog}) => -{ - const banned = user.status === 'BANNED'; +const ActionButton = ({type, user}) => { + const menuOptionsMap = { + 'reject': {status: 'REJECTED', icon: 'close', key: 'r'}, + 'approve': {status: 'ACCEPTED', icon: 'done', key: 't'}, + 'flag': {status: 'FLAGGED', icon: 'flag', filter: 'Untouched'}, + 'ban': {status: 'BANNED', icon: 'not interested'} + }; - if (option === 'flag' && (type === 'USERS' || comment.status || comment.flagged === true)) { - return null; - } - if (option === 'ban') { + if (type === 'ban') { return (
); } - const menuOption = menuOptionsMap[option]; - const action = { - item_type: type, - item_id: type === 'COMMENTS' ? comment.id : user.id - }; + return ( onClickAction(menuOption.status, type === 'COMMENTS' ? comment : user, action)} + className={`${type} ${styles.actionButton}`} + cStyle={type} + icon={menuOptionsMap[type].icon} + onClick={() => {}} /> ); + }; export default ActionButton; diff --git a/client/coral-admin/src/components/ModerationList.css b/client/coral-admin/src/components/ModerationList.css index fbcbce7d7..140f4bc8f 100644 --- a/client/coral-admin/src/components/ModerationList.css +++ b/client/coral-admin/src/components/ModerationList.css @@ -96,11 +96,6 @@ margin-left: 40px; } - .actionButton { - transform: scale(.8); - margin: 0; - } - .body { margin-top: 20px; flex: 1; @@ -182,3 +177,9 @@ font-size: 14px; } } + + +.actionButton { + transform: scale(.8); + margin: 0; +} diff --git a/client/coral-admin/src/containers/ModerationQueue/ModerationContainer.js b/client/coral-admin/src/containers/ModerationQueue/ModerationContainer.js index ae78d1b8e..6b0ec8827 100644 --- a/client/coral-admin/src/containers/ModerationQueue/ModerationContainer.js +++ b/client/coral-admin/src/containers/ModerationQueue/ModerationContainer.js @@ -59,7 +59,6 @@ class ModerationContainer extends Component { } const enablePremodTab = !!data.premod.length; - return (
@@ -68,9 +67,9 @@ class ModerationContainer extends Component { enablePremodTab={enablePremodTab} {...moderation} />
diff --git a/client/coral-admin/src/containers/ModerationQueue/ModerationQueue.js b/client/coral-admin/src/containers/ModerationQueue/ModerationQueue.js index ed1bc4dce..47d3d6745 100644 --- a/client/coral-admin/src/containers/ModerationQueue/ModerationQueue.js +++ b/client/coral-admin/src/containers/ModerationQueue/ModerationQueue.js @@ -7,11 +7,13 @@ const actionsMap = { }; const ModerationQueue = props => { + console.log(props); return (
    { props.data[props.activeTab].map((comment, i) => { + console.log(props.asset); return { const links = linkify.getMatches(props.body); return (
  • + className={`mdl-card mdl-shadow--2dp ${styles.Comment} ${styles.listItem} ${props.isActive && !props.hideActive ? styles.activeItem : ''}`}>
    {props.user.name} @@ -28,18 +29,9 @@ const Comment = props => {
    {links ? Contains Link : null}
    - {/* {props.modActions.map(*/} - {/* (action, i) =>*/} - {/* */} - {/* )}*/} + + +
    {props.user.banned === 'banned' ? @@ -50,10 +42,9 @@ const Comment = props => {
    - {/*
    */} - {/* Article title */} - {/* Moderate this Article */} - {/*
    */} +
    + {props.asset.title} Moderate Article +

    @@ -62,11 +53,9 @@ const Comment = props => {

    - - {/* */} - {/* View context */} - {/* */} - + {/* */} + {/* View context*/} + {/* */}
  • ); }; @@ -80,7 +69,8 @@ const linkify = new Linkify(); const lang = new I18n(translations); Comment.propTypes = { - user: PropTypes.object.isRequired + user: PropTypes.object.isRequired, + asset: PropTypes.object.isRequired }; export default Comment; diff --git a/client/coral-admin/src/containers/ModerationQueue/components/styles.css b/client/coral-admin/src/containers/ModerationQueue/components/styles.css index cc40b03a3..f87efec24 100644 --- a/client/coral-admin/src/containers/ModerationQueue/components/styles.css +++ b/client/coral-admin/src/containers/ModerationQueue/components/styles.css @@ -248,3 +248,25 @@ font-size: 14px; } } + + +.Comment { + .moderateArticle { + padding: 10px 0px; + a { + display: block; + color: #679af3; + text-decoration: none; + font-size: 1em; + font-weight: 500; + letter-spacing: .5px; + font-size: .8em; + + &:hover { + text-decoration: underline; + opacity: .9; + cursor: pointer; + } + } + } +} diff --git a/client/coral-admin/src/containers/Streams/StreamsTable.js b/client/coral-admin/src/containers/Streams/StreamsTable.js deleted file mode 100644 index a801a3f7b..000000000 --- a/client/coral-admin/src/containers/Streams/StreamsTable.js +++ /dev/null @@ -1,39 +0,0 @@ -import React from 'react'; -import translations from '../../translations.json'; -import I18n from 'coral-framework/modules/i18n/i18n'; -const lang = new I18n(translations); - -const StreamsTable = props => ( - - - - - - - - - - {props.rows.map((row, i)=> ( - - - - - - ))} - -
    - {lang.t('streams.article')} - - {lang.t('streams.pubdate')} - - {lang.t('streams.status')} -
    - {row.title} - - {row.publication_date} - - {lang.t('streams.status')} -
    -); - -export default StreamsTable; diff --git a/client/coral-admin/src/graphql/fragments/commentView.graphql b/client/coral-admin/src/graphql/fragments/commentView.graphql index 29f9b3bfe..ced2f89fc 100644 --- a/client/coral-admin/src/graphql/fragments/commentView.graphql +++ b/client/coral-admin/src/graphql/fragments/commentView.graphql @@ -6,6 +6,11 @@ fragment commentView on Comment { user { id name: displayName + status + } + asset { + id + title } actions { type: action_type diff --git a/graph/mutators/user.js b/graph/mutators/user.js index f693195d6..7c48744d2 100644 --- a/graph/mutators/user.js +++ b/graph/mutators/user.js @@ -1,16 +1,8 @@ const UsersService = require('../../services/users'); const setUserStatus = ({user}, {id, status}) => { - console.log('------as-d-asd-a-sads-a-sad-dsa-----'); - console.log('user', user); - console.log('id', id); - console.log('status', status); - return UsersService.setStatus(id, status) - .then((user) => { - console.log('result', user); - return user; - }); + .then(res => res); }; module.exports = (context) => {