Adding missing classes and proptypes

This commit is contained in:
Belen Curcio
2017-11-06 23:53:19 -03:00
parent 302d30cde1
commit d51b6b31f6
5 changed files with 48 additions and 7 deletions
@@ -1,4 +1,5 @@
import React from 'react';
import PropTypes from 'prop-types';
import styles from './styles.css';
import {t} from 'plugin-api/beta/client/services';
import {Icon} from 'plugin-api/beta/client/components/ui';
@@ -6,16 +7,23 @@ import cn from 'classnames';
const isApproved = (status) => (status === 'ACCEPTED');
export default ({approveComment, comment: {status}}) => (
const ApproveCommentAction = ({approveComment, comment: {status}}) => (
isApproved(status) ? (
<span className={styles.approved}>
<Icon name="check_circle" className={styles.icon} />
{t('talk-plugin-moderation-actions.approved_comment')}
</span>
) : (
<button className={cn(styles.button, 'talk-plugin-moderation-actions-reject')} onClick={approveComment}>
<button className={cn(styles.button, 'talk-plugin-moderation-actions-approve')} onClick={approveComment}>
<Icon name="done" className={styles.icon} />
{t('talk-plugin-moderation-actions.approve_comment')}
</button>
)
);
ApproveCommentAction.propTypes = {
approveComment: PropTypes.func,
comment: PropTypes.object,
};
export default ApproveCommentAction;
@@ -1,14 +1,21 @@
import React from 'react';
import PropTypes from 'prop-types';
import styles from './styles.css';
import {t} from 'plugin-api/beta/client/services';
import {Icon} from 'plugin-api/beta/client/components/ui';
import cn from 'classnames';
export default ({onBanUser}) => (
const BanUserAction = ({onBanUser}) => (
<button
className={cn(styles.button, 'talk-plugin-moderation-actions-reject')}
className={cn(styles.button, 'talk-plugin-moderation-actions-ban')}
onClick={onBanUser} >
<Icon name="block" className={styles.icon} />
{t('talk-plugin-moderation-actions.ban_user')}
</button>
);
BanUserAction.propTypes = {
onBanUser: PropTypes.func,
};
export default BanUserAction;
@@ -1,9 +1,10 @@
import React from 'react';
import PropTypes from 'prop-types';
import cn from 'classnames';
import styles from './Menu.css';
import {t} from 'plugin-api/beta/client/services';
export default ({className = '', children}) => (
const Menu = ({className = '', children}) => (
<div className={cn(styles.menu, className)}>
<h3 className={styles.headline}>
{t('talk-plugin-moderation-actions.moderation_actions')}
@@ -11,3 +12,10 @@ export default ({className = '', children}) => (
{children}
</div>
);
Menu.propTypes = {
className: PropTypes.string,
children: PropTypes.node,
};
export default Menu;
@@ -1,4 +1,5 @@
import React from 'react';
import PropTypes from 'prop-types';
import cn from 'classnames';
import Menu from './Menu';
import styles from './ModerationActions.css';
@@ -21,7 +22,7 @@ export default class ModerationActions extends React.Component {
<Icon name="keyboard_arrow_down" className={styles.icon} />}
</span>
{menuVisible && (
<Menu>
<Menu className="talk-plugin-modetarion-actions-menu">
<Slot
className="talk-plugin-modetarion-actions-slot"
fill="moderationActions"
@@ -38,3 +39,13 @@ export default class ModerationActions extends React.Component {
);
}
}
ModerationActions.propTypes = {
comment: PropTypes.object,
root: PropTypes.object,
asset: PropTypes.object,
data: PropTypes.object,
menuVisible: PropTypes.bool,
toogleMenu: PropTypes.func,
hideMenu: PropTypes.func,
};
@@ -1,12 +1,19 @@
import React from 'react';
import PropTypes from 'prop-types';
import cn from 'classnames';
import styles from './styles.css';
import {t} from 'plugin-api/beta/client/services';
import {Icon} from 'plugin-api/beta/client/components/ui';
export default ({rejectComment}) => (
const RejectCommentAction = ({rejectComment}) => (
<button className={cn(styles.button, 'talk-plugin-moderation-actions-reject')} onClick={rejectComment}>
<Icon name="clear" className={styles.icon} />
{t('talk-plugin-moderation-actions.reject_comment')}
</button>
);
RejectCommentAction.propTypes = {
rejectComment: PropTypes.func,
};
export default RejectCommentAction;