import React from 'react'; import PropTypes from 'prop-types'; import {Link} from 'react-router'; import {Icon} from 'coral-ui'; import CommentDetails from './CommentDetails'; import styles from './UserDetailComment.css'; import CommentBodyHighlighter from 'coral-admin/src/components/CommentBodyHighlighter'; import IfHasLink from 'coral-admin/src/components/IfHasLink'; import cn from 'classnames'; import CommentAnimatedEdit from './CommentAnimatedEdit'; import CommentLabels from '../containers/CommentLabels'; import ApproveButton from './ApproveButton'; import RejectButton from 'coral-admin/src/components/RejectButton'; import t, {timeago} from 'coral-framework/services/i18n'; class UserDetailComment extends React.Component { approve = () => (this.props.comment.status === 'ACCEPTED' ? null : this.props.acceptComment({commentId: this.props.comment.id}) ); reject = () => (this.props.comment.status === 'REJECTED' ? null : this.props.rejectComment({commentId: this.props.comment.id}) ); render() { const { comment, selected, toggleSelect, className, data, root: {settings: {wordlist: {banned, suspect}}}, } = this.props; return (
  • toggleSelect(e.target.value, e.target.checked)} /> {timeago(comment.created_at)} { (comment.editing && comment.editing.edited) ?  ({t('comment.edited')}) : null }
    Story: {comment.asset.title} {{t('modqueue.moderate')}}
    {' '} {t('comment.view_context')}
    Contains Link
  • ); } } UserDetailComment.propTypes = { user: PropTypes.object.isRequired, viewUserDetail: PropTypes.func.isRequired, acceptComment: PropTypes.func.isRequired, rejectComment: PropTypes.func.isRequired, className: PropTypes.string, toggleSelect: PropTypes.func, root: PropTypes.shape({ settings: PropTypes.shape({ wordlist: PropTypes.shape({ suspect: PropTypes.arrayOf(PropTypes.string).isRequired, banned: PropTypes.arrayOf(PropTypes.string).isRequired, }), }), }), comment: PropTypes.shape({ id: PropTypes.string.isRequired, status: PropTypes.string.isRequired, body: PropTypes.string.isRequired, actions: PropTypes.array, created_at: PropTypes.string.isRequired, asset: PropTypes.shape({ title: PropTypes.string, url: PropTypes.string, id: PropTypes.string }), }), }; export default UserDetailComment;