import React from 'react';
import styled from 'styled-components';

import {
  EIssueType
} from '../../../enum';
import {
  IIssue
} from '../../../types';
import intl from '../../../intl';
import LabelBase from '../../label-base';

interface IProps {
  o: IIssue;
}

const ScScLabelType = styled(LabelBase)`
  background-color: #bbb;
`;

export default function CellType({
  o: {
    type
  }
}: IProps): JSX.Element {
  switch (type) {
    case EIssueType.TYPE_FALSE_REPORT:
      return <ScScLabelType>{intl('issue:type_false_report')}</ScScLabelType>;
    case EIssueType.TYPE_UNPROTECTED:
      return <ScScLabelType>{intl('issue:type_unprotected')}</ScScLabelType>;
    case EIssueType.TYPE_MISMATCH:
      return <ScScLabelType>{intl('issue:type_mismatch')}</ScScLabelType>;
    case EIssueType.RUNTIME_CRASH:
      return <ScScLabelType>{intl('issue:runtime_crash')}</ScScLabelType>;
    default:
      return <ScScLabelType>{intl('issue:runtime_warning')}</ScScLabelType>;
  }
}
