import React from 'react'; import ReactTable from 'react-table'; import PropTypes from 'prop-types'; import { withNamespaces, Trans } from 'react-i18next'; import Card from '../ui/Card'; import Cell from '../ui/Cell'; import DomainCell from './DomainCell'; import { getPercent } from '../../helpers/helpers'; import { STATUS_COLORS } from '../../helpers/constants'; const CountCell = totalBlocked => function cell(row) { const { value } = row; const percent = getPercent(totalBlocked, value); return ; }; const BlockedDomains = ({ t, refreshButton, topBlockedDomains, subtitle, blockedFiltering, replacedSafebrowsing, replacedParental, }) => { const totalBlocked = blockedFiltering + replacedSafebrowsing + replacedParental; return ( ({ domain, count, }))} columns={[ { Header: domain, accessor: 'domain', Cell: DomainCell, }, { Header: requests_count, accessor: 'count', maxWidth: 190, Cell: CountCell(totalBlocked), }, ]} showPagination={false} noDataText={t('no_domains_found')} minRows={6} className="-striped -highlight card-table-overflow stats__table" /> ); }; BlockedDomains.propTypes = { topBlockedDomains: PropTypes.array.isRequired, blockedFiltering: PropTypes.number.isRequired, replacedSafebrowsing: PropTypes.number.isRequired, replacedParental: PropTypes.number.isRequired, refreshButton: PropTypes.node.isRequired, subtitle: PropTypes.string.isRequired, t: PropTypes.func.isRequired, }; export default withNamespaces()(BlockedDomains);