import { round } from 'common/math';
import { Fragment } from 'inferno';
import { formatCommaNumber } from '../format';
import { useBackend, useLocalState } from "../backend";
import { ComplexModal, modalOpen, modalRegisterBodyOverride } from "../interfaces/common/ComplexModal";
import { Box, Button, Flex, Icon, NoticeBox, LabeledList, ProgressBar, Section, Tabs } from "../components";
import { Window } from "../layouts";
const virusModalBodyOverride = (modal, context) => {
const { act, data } = useBackend(context);
const {
can_print,
} = data;
const virus = modal.args;
return (
);
};
export const PathogenicIsolator = (props, context) => {
const { act, data } = useBackend(context);
const {
isolating,
} = data;
const [tabIndex, setTabIndex] = useLocalState(context, "tabIndex", 0);
let tab = null;
if (tabIndex === 0) {
tab = ;
} else if (tabIndex === 1) {
tab = ;
}
modalRegisterBodyOverride("virus", virusModalBodyOverride);
return (
{isolating && The Isolator is currently isolating... || null}
setTabIndex(0)}>
Home
setTabIndex(1)}>
Database
{tab}
);
};
const PathogenicIsolatorTabHome = (props, context) => {
const { act, data } = useBackend(context);
const {
syringe_inserted,
pathogen_pool,
can_print,
} = data;
return (
act("print", { type: "patient_diagnosis" })} />
act("eject")} />
}>
{pathogen_pool.length && pathogen_pool.map(pathogen => (
Stamm #{pathogen.unique_id}
{pathogen.is_in_database ? " (Analyzed)" : " (Not Analyzed)"}
act("isolate", { isolate: pathogen.reference })} />
act("view_entry", { vir: pathogen.record })} />
{pathogen.name}
{pathogen.dna}
))
|| (syringe_inserted ? (
No samples detected.
) : (
No syringe inserted.
))}
);
};
const PathogenicIsolatorTabDatabase = (props, context) => {
const { act, data } = useBackend(context);
const {
database,
can_print,
} = data;
return (
act("print", { type: "virus_list" })} />
}>
{database.length && database.map(entry => (
act("view_entry", { vir: entry.record })}>
{entry.name}
)) || (
The viral database is empty.
)}
);
};