import React from 'react'; import timeago from 'timeago.js'; import styles from './CommentList.css'; import I18n from 'coral-framework/modules/i18n/i18n'; import translations from '../translations.json'; import Linkify from 'react-linkify'; import {FabButton} from 'coral-ui'; import {Icon} from 'react-mdl'; const linkify = new Linkify(); // Render a single comment for the list export default props => { const {comment, author} = props; const links = linkify.getMatches(comment.get('body')); return (
  • person {author.get('displayName') || lang.t('comment.anon')} {timeago().format(comment.get('createdAt') || (Date.now() - props.index * 60 * 1000), lang.getLocale().replace('-', '_'))} {comment.get('flagged') ?

    {lang.t('comment.flagged')}

    : null}
    {links ? Contains Link : null}
    {props.actions.map((action, i) => canShowAction(action, comment) ? ( props.onClickAction(props.actionsMap[action].status, comment.get('id'))} /> ) : null)}
    {comment.get('body')}
  • ); }; // Check if an action can be performed over a comment const canShowAction = (action, comment) => { const status = comment.get('status'); const flagged = comment.get('flagged'); if (action === 'flag' && (status || flagged === true)) { return false; } return true; }; const linkStyles = { backgroundColor: 'rgb(255, 219, 135)', padding: '1px 2px' }; const lang = new I18n(translations);