mirror of
https://github.com/wassname/talk.git
synced 2026-09-10 12:43:11 +08:00
replaced eslint:recommended with prettier
This commit is contained in:
@@ -1,25 +1,27 @@
|
||||
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 { t } from 'plugin-api/beta/client/services';
|
||||
import { Icon } from 'plugin-api/beta/client/components/ui';
|
||||
import cn from 'classnames';
|
||||
|
||||
const isApproved = (status) => (status === 'ACCEPTED');
|
||||
const isApproved = status => status === 'ACCEPTED';
|
||||
|
||||
const ApproveCommentAction = ({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-approve')} 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,
|
||||
|
||||
@@ -1,14 +1,15 @@
|
||||
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 { t } from 'plugin-api/beta/client/services';
|
||||
import { Icon } from 'plugin-api/beta/client/components/ui';
|
||||
import cn from 'classnames';
|
||||
|
||||
const BanUserAction = ({onBanUser}) => (
|
||||
<button
|
||||
const BanUserAction = ({ onBanUser }) => (
|
||||
<button
|
||||
className={cn(styles.button, 'talk-plugin-moderation-actions-ban')}
|
||||
onClick={onBanUser} >
|
||||
onClick={onBanUser}
|
||||
>
|
||||
<Icon name="block" className={styles.icon} />
|
||||
{t('talk-plugin-moderation-actions.ban_user')}
|
||||
</button>
|
||||
|
||||
@@ -2,12 +2,17 @@ import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import cn from 'classnames';
|
||||
import styles from './BanUserDialog.css';
|
||||
import {t} from 'plugin-api/beta/client/services';
|
||||
import {Dialog, Button} from 'plugin-api/beta/client/components/ui';
|
||||
import { t } from 'plugin-api/beta/client/services';
|
||||
import { Dialog, Button } from 'plugin-api/beta/client/components/ui';
|
||||
|
||||
const BanUserDialog = ({showBanDialog, closeBanDialog, banUser}) => (
|
||||
<Dialog open={showBanDialog} className={cn(styles.dialog, 'talk-ban-user-dialog')}>
|
||||
<span className={styles.close} onClick={closeBanDialog}>×</span>
|
||||
const BanUserDialog = ({ showBanDialog, closeBanDialog, banUser }) => (
|
||||
<Dialog
|
||||
open={showBanDialog}
|
||||
className={cn(styles.dialog, 'talk-ban-user-dialog')}
|
||||
>
|
||||
<span className={styles.close} onClick={closeBanDialog}>
|
||||
×
|
||||
</span>
|
||||
<h2>{t('talk-plugin-moderation-actions.ban_user_dialog_headline')}</h2>
|
||||
<h3>{t('talk-plugin-moderation-actions.ban_user_dialog_sub')}</h3>
|
||||
<p className={styles.copy}>
|
||||
@@ -18,14 +23,16 @@ const BanUserDialog = ({showBanDialog, closeBanDialog, banUser}) => (
|
||||
cStyle="cancel"
|
||||
onClick={closeBanDialog}
|
||||
className={cn(styles.cancel, 'talk-ban-user-dialog-button-cancel')}
|
||||
raised >
|
||||
raised
|
||||
>
|
||||
{t('talk-plugin-moderation-actions.ban_user_dialog_cancel')}
|
||||
</Button>
|
||||
<Button
|
||||
cStyle="black"
|
||||
onClick={banUser}
|
||||
className={cn(styles.confirm, 'talk-ban-user-dialog-button-confirm')}
|
||||
raised >
|
||||
raised
|
||||
>
|
||||
{t('talk-plugin-moderation-actions.ban_user_dialog_yes')}
|
||||
</Button>
|
||||
</div>
|
||||
|
||||
@@ -2,9 +2,9 @@ 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';
|
||||
import { t } from 'plugin-api/beta/client/services';
|
||||
|
||||
const Menu = ({className = '', children}) => (
|
||||
const Menu = ({ className = '', children }) => (
|
||||
<div className={cn(styles.menu, className)}>
|
||||
<h3 className={styles.headline}>
|
||||
{t('talk-plugin-moderation-actions.moderation_actions')}
|
||||
|
||||
@@ -3,35 +3,58 @@ import PropTypes from 'prop-types';
|
||||
import cn from 'classnames';
|
||||
import Menu from './Menu';
|
||||
import styles from './ModerationActions.css';
|
||||
import {Icon} from 'plugin-api/beta/client/components/ui';
|
||||
import { Icon } from 'plugin-api/beta/client/components/ui';
|
||||
import ClickOutside from 'coral-framework/components/ClickOutside';
|
||||
import RejectCommentAction from '../containers/RejectCommentAction';
|
||||
import ApproveCommentAction from '../containers/ApproveCommentAction';
|
||||
import BanUserAction from '../containers/BanUserAction';
|
||||
import {Slot} from 'plugin-api/beta/client/components';
|
||||
import { Slot } from 'plugin-api/beta/client/components';
|
||||
|
||||
export default class ModerationActions extends React.Component {
|
||||
render() {
|
||||
const {comment, root, asset, data, menuVisible, toogleMenu, hideMenu} = this.props;
|
||||
const {
|
||||
comment,
|
||||
root,
|
||||
asset,
|
||||
data,
|
||||
menuVisible,
|
||||
toogleMenu,
|
||||
hideMenu,
|
||||
} = this.props;
|
||||
|
||||
return(
|
||||
return (
|
||||
<ClickOutside onClickOutside={hideMenu}>
|
||||
<div className={cn(styles.moderationActions, 'talk-plugin-moderation-actions')}>
|
||||
<span onClick={toogleMenu} className={cn(styles.arrow, 'talk-plugin-moderation-actions-arrow')}>
|
||||
{menuVisible ? <Icon name="keyboard_arrow_up" className={styles.icon} /> :
|
||||
<Icon name="keyboard_arrow_down" className={styles.icon} />}
|
||||
<div
|
||||
className={cn(
|
||||
styles.moderationActions,
|
||||
'talk-plugin-moderation-actions'
|
||||
)}
|
||||
>
|
||||
<span
|
||||
onClick={toogleMenu}
|
||||
className={cn(styles.arrow, 'talk-plugin-moderation-actions-arrow')}
|
||||
>
|
||||
{menuVisible ? (
|
||||
<Icon name="keyboard_arrow_up" className={styles.icon} />
|
||||
) : (
|
||||
<Icon name="keyboard_arrow_down" className={styles.icon} />
|
||||
)}
|
||||
</span>
|
||||
{menuVisible && (
|
||||
<Menu className="talk-plugin-modetarion-actions-menu">
|
||||
<Slot
|
||||
className="talk-plugin-modetarion-actions-slot"
|
||||
fill="moderationActions"
|
||||
queryData={{comment, asset}}
|
||||
queryData={{ comment, asset }}
|
||||
data={data}
|
||||
/>
|
||||
<ApproveCommentAction comment={comment} hideMenu={hideMenu} />
|
||||
<RejectCommentAction comment={comment} hideMenu={hideMenu} />
|
||||
<BanUserAction comment={comment} root={root} hideMenu={hideMenu} />
|
||||
<BanUserAction
|
||||
comment={comment}
|
||||
root={root}
|
||||
hideMenu={hideMenu}
|
||||
/>
|
||||
</Menu>
|
||||
)}
|
||||
</div>
|
||||
|
||||
@@ -2,11 +2,14 @@ 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';
|
||||
import { t } from 'plugin-api/beta/client/services';
|
||||
import { Icon } from 'plugin-api/beta/client/components/ui';
|
||||
|
||||
const RejectCommentAction = ({rejectComment}) => (
|
||||
<button className={cn(styles.button, 'talk-plugin-moderation-actions-reject')} onClick={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>
|
||||
|
||||
Reference in New Issue
Block a user