import { round } from 'common/math';
import { Fragment } from 'inferno';
import { useBackend } from '../backend';
import { Window } from '../layouts';
import { Box, Button, Flex, Icon, Knob, LabeledList, Section, Tabs, ProgressBar } from '../components';
const stats = [
['good', 'Conscious'],
['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 OperatingComputer = (props, context) => {
const { act, data } = useBackend(context);
const { hasOccupant, choice } = data;
let body;
if (!choice) {
body = hasOccupant ? : ;
} else {
body = ;
}
return (
act('choiceOff')}>
Patient
act('choiceOn')}>
Options
);
};
const OperatingComputerPatient = (props, context) => {
const { data } = useBackend(context);
const { occupant } = data;
return (
{occupant.name}
{stats[occupant.stat][1]}
{damages.map((d, i) => (
{round(occupant[d[1]])}
))}
{round(occupant.btCelsius)}°C, {round(occupant.btFaren)}°F
{!!occupant.hasBlood && (
{occupant.bloodPercent}%, {occupant.bloodLevel}cl
{occupant.pulse} BPM
)}
{occupant.surgery && occupant.surgery.length ? (
{occupant.surgery.map((limb) => (
{limb.currentStage}
{limb.nextSteps.map((step) => (
{step}
))}
))}
) : (
No procedure ongoing.
)}
);
};
const OperatingComputerUnoccupied = () => {
return (
No patient detected.
);
};
const OperatingComputerOptions = (props, context) => {
const { act, data } = useBackend(context);
const { verbose, health, healthAlarm, oxy, oxyAlarm, crit } = data;
return (
val + '%'}
onChange={(e, val) =>
act('health_adj', {
new: val,
})
}
/>
act('oxy_adj', {
new: val,
})
}
/>
);
};