import React from 'react'; import Linkify from 'react-linkify'; import styles from './ModerationList.css'; import I18n from 'coral-framework/modules/i18n/i18n'; import translations from '../translations.json'; import {Icon} from 'react-mdl'; import Highlighter from 'react-highlight-words'; import {FabButton, Button} from 'coral-ui'; const linkify = new Linkify(); // Render a single comment for the list const UserAction = props => { const {action, user} = props; let userStatus = user.status; const links = user.settings.bio ? linkify.getMatches(user.settings.bio) : []; return (
  • person {user.displayName}
    {links ? Contains Link : null}
    {props.modActions.map((action, i) => getActionButton(action, i, props))}
    {userStatus === 'banned' ? {lang.t('comment.banned_user')} : null}
    { user.settings.bio &&
    {lang.t('user.user_bio')}:
    }
    {`${action.count} ${action.action_type === 'flag_bio' ? lang.t('user.bio_flags') : lang.t('user.username_flags')}`}
  • ); }; export default UserAction; // Get the button of the action performed over a comment if any const getActionButton = (action, i, props) => { const {user} = props; const status = user.status; const banned = (user.status === 'banned'); if (action === 'flag' && status) { return null; } if (action === 'ban') { return ( ); } return ( props.onClickAction(props.actionsMap[action].status, user.id)} /> ); }; const linkStyles = { backgroundColor: 'rgb(255, 219, 135)', padding: '1px 2px' }; const lang = new I18n(translations);