import { makeStyles } from '@material-ui/core' import List from '@material-ui/core/List' import ListItem from '@material-ui/core/ListItem' import * as R from 'ramda' import React from 'react' import { useHistory } from 'react-router-dom' import { P } from 'src/components/typography/index' import { ReactComponent as Wrench } from 'src/styling/icons/action/wrench/zodiac.svg' import { ReactComponent as LinkIcon } from 'src/styling/icons/button/link/zodiac.svg' import { ReactComponent as CashBoxEmpty } from 'src/styling/icons/cassettes/cashbox-empty.svg' import { ReactComponent as WarningIcon } from 'src/styling/icons/warning-icon/tomato.svg' import styles from './Alerts.styles' const useStyles = makeStyles(styles) const icons = { error: , fiatBalance: ( ) } const links = { error: '/maintenance/machine-status', fiatBalance: '/maintenance/cash-cassettes', cryptoBalance: '/maintenance/funding' } const AlertsTable = ({ numToRender, alerts, machines }) => { const history = useHistory() const classes = useStyles() const alertsToRender = R.slice(0, numToRender, alerts) const alertMessage = alert => { const deviceId = alert.detail.deviceId if (!deviceId) return `${alert.message}` const deviceName = R.defaultTo('Unpaired device', machines[deviceId]) return `${alert.message} - ${deviceName}` } return ( {alertsToRender.map((alert, idx) => { return ( {icons[alert.type] || ( )}

{alertMessage(alert)}

history.push(links[alert.type] || '/dashboard')} />
) })}
) } export default AlertsTable