import React from 'react'; import {Button, Icon} from 'react-mdl'; 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'; const linkify = new Linkify(); // Render a single comment for the list export default props => { const links = linkify.getMatches(props.comment.get('body')); return (
  • person {props.comment.get('name') || lang.t('comment.anon')} {timeago().format(props.comment.get('createdAt') || (Date.now() - props.index * 60 * 1000), lang.getLocale().replace('-', '_'))} {props.comment.get('flagged') ?

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

    : null}
    {links ? Contains Link : null}
    {props.actions.map(action => canShowAction(action, props.comment) ? ( ) : null)}
    {props.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);