import { map } from 'common/collections';
import { Fragment } from 'inferno';
import { useBackend } from '../backend';
import { Button, LabeledList, NoticeBox, Section, Tabs } from '../components';
export const NaniteProgramHub = props => {
const { act, data } = useBackend(props);
const {
detail_view,
disk,
has_disk,
has_program,
programs = {},
} = data;
return (
)}>
{has_disk ? (
has_program ? (
{disk.name}
{disk.desc}
) : (
No Program Installed
)
) : (
Insert Disk
)}
act('toggle_details')} />
act('refresh')} />
)}>
{programs !== null ? (
{map((cat_contents, category) => {
const progs = cat_contents || [];
// Backend was sending stupid data that would have been
// annoying to fix
const tabLabel = category.substring(0, category.length - 8);
return (
{detail_view ? (
progs.map(program => (
act('download', {
program_id: program.id,
})} />
)}>
{program.desc}
))
) : (
{progs.map(program => (
act('download', {
program_id: program.id,
})} />
)} />
))}
)}
);
})(programs)}
) : (
No nanite programs are currently researched.
)}
);
};