mirror of
https://github.com/wassname/talk.git
synced 2026-07-23 13:10:20 +08:00
Adding missing classes and proptypes
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user