import { Fragment } from 'inferno';
import { useBackend, useLocalState } from '../backend';
import { ComplexModal, modalRegisterBodyOverride } from '../interfaces/common/ComplexModal';
import { Box, Button, Flex, NoticeBox, LabeledList, 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.}
);
};