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