import { Fragment } from 'inferno'; import { useBackend } from '../backend'; import { Box, Button, LabeledList, NoticeBox, ProgressBar, Section } from '../components'; import { InterfaceLockNoticeBox } from './common/InterfaceLockNoticeBox'; export const Apc = props => { const { act, data } = useBackend(props); const locked = data.locked && !data.siliconUser; const powerStatusMap = { 2: { color: 'good', externalPowerText: 'External Power', chargingText: 'Fully Charged', }, 1: { color: 'average', externalPowerText: 'Low External Power', chargingText: 'Charging', }, 0: { color: 'bad', externalPowerText: 'No External Power', chargingText: 'Not Charging', }, }; const malfMap = { 1: { icon: 'terminal', content: 'Override Programming', action: 'hack', }, 2: { icon: 'caret-square-down', content: 'Shunt Core Process', action: 'occupy', }, 3: { icon: 'caret-square-left', content: 'Return to Main Core', action: 'deoccupy', }, 4: { icon: 'caret-square-down', content: 'Shunt Core Process', action: 'occupy', }, }; const externalPowerStatus = powerStatusMap[data.externalPower] || powerStatusMap[0]; const chargingStatus = powerStatusMap[data.chargingStatus] || powerStatusMap[0]; const channelArray = data.powerChannels || []; const malfStatus = malfMap[data.malfStatus] || malfMap[0]; const adjustedCellChange = data.powerCellStatus / 100; if (data.failTime > 0) { return (

SYSTEM FAILURE

I/O regulators malfunction detected! Waiting for system reboot...
Automatic reboot in {data.failTime} seconds...