import { round } from 'common/math'; import { Fragment } from 'inferno'; import { useBackend } from '../backend'; import { Box, Button, Flex, Icon, LabeledList, ProgressBar, Section } from '../components'; import { Window } from '../layouts'; const stats = [ ['good', 'Alive'], ['average', 'Unconscious'], ['bad', 'DEAD'], ]; const damages = [ ['Resp', 'oxyLoss'], ['Toxin', 'toxLoss'], ['Brute', 'bruteLoss'], ['Burn', 'fireLoss'], ]; const damageRange = { average: [0.25, 0.5], bad: [0.5, Infinity], }; const tempColors = ['bad', 'average', 'average', 'good', 'average', 'average', 'bad']; export const Sleeper = (props, context) => { const { act, data } = useBackend(context); const { hasOccupant } = data; const body = hasOccupant ? : ; return ( {body} ); }; const SleeperMain = (props, context) => { const { act, data } = useBackend(context); const { occupant, dialysis, stomachpumping } = data; return ( ); }; const SleeperOccupant = (props, context) => { const { act, data } = useBackend(context); const { occupant, auto_eject_dead, stasis } = data; return (
Auto-eject if dead: 
); }; const SleeperDamage = (props, context) => { const { data } = useBackend(context); const { occupant } = data; return (
{damages.map((d, i) => ( {round(occupant[d[1]], 0)} ))}
); }; const SleeperDialysisPump = (props, context) => { const { act, data } = useBackend(context); const { isBeakerLoaded, beakerMaxSpace, beakerFreeSpace } = data; const { active, actToDo, title } = props; const canDialysis = active && beakerFreeSpace > 0; return (
); }; const SleeperChemicals = (props, context) => { const { act, data } = useBackend(context); const { occupant, chemicals, maxchem, amounts } = data; return (
{chemicals.map((chem, i) => { let barColor = ''; let odWarning; if (chem.overdosing) { barColor = 'bad'; odWarning = (   Overdosing! ); } else if (chem.od_warning) { barColor = 'average'; odWarning = (   Close to overdosing ); } return (
{chem.pretty_amount}/{maxchem}u {amounts.map((a, i) => (
); })}
); }; const SleeperEmpty = (props, context) => { const { act, data } = useBackend(context); const { isBeakerLoaded } = data; return (

No occupant detected. {(isBeakerLoaded && (
); };