import { Fragment } from 'inferno'; import { useBackend } from '../backend'; import { Button, Dropdown, Grid, Input, LabeledList, NoticeBox, NumberInput, Section } from '../components'; export const NaniteCodes = props => { const { act, data } = useBackend(props); return (
act('set_code', { target_code: "activation", code: value, })} /> act('set_code', { target_code: "deactivation", code: value, })} /> act('set_code', { target_code: 'kill', code: value, })} /> {!!data.can_trigger && ( act('set_code', { target_code: 'trigger', code: value, })} /> )}
); }; export const NaniteDelays = props => { const { act, data } = useBackend(props); return (
act('set_restart_timer', { delay: value, })} /> act('set_shutdown_timer', { delay: value, })} /> {!!data.can_trigger && ( act('set_trigger_timer', { delay: value, })} /> act('set_timer_trigger_delay', { delay: value, })} /> )}
); }; export const NaniteExtraEntry = props => { const { act, extra_setting } = props; const { name, type, } = extra_setting; const typeComponentMap = { number: , text: , type: , boolean: , }; return ( {typeComponentMap[type]} ); }; export const NaniteExtraNumber = props => { const { act, extra_setting } = props; const { name, value, min, max, unit, } = extra_setting; return ( act('set_extra_setting', { target_setting: name, value: val, })} /> ); }; export const NaniteExtraText = props => { const { act, extra_setting } = props; const { name, value, } = extra_setting; return ( act('set_extra_setting', { target_setting: name, value: val, })} /> ); }; export const NaniteExtraType = props => { const { act, extra_setting } = props; const { name, value, types, } = extra_setting; return ( act('set_extra_setting', { target_setting: name, value: val, })} /> ); }; export const NaniteExtraBoolean = props => { const { act, extra_setting } = props; const { name, value, true_text, false_text, } = extra_setting; return ( act('set_extra_setting', { target_setting: name, })} /> ); }; export const NaniteProgrammer = props => { const { act, data } = useBackend(props); const { has_disk, has_program, name, desc, use_rate, can_trigger, trigger_cost, trigger_cooldown, activated, has_extra_settings, extra_settings = {}, } = data; if (!has_disk) { return ( Insert a nanite program disk ); } if (!has_program) { return (
act('eject')} /> )} /> ); } return (
act('eject')} /> )}>
{desc} {use_rate} {!!can_trigger && ( {trigger_cost} {trigger_cooldown} )}
act('toggle_active')} /> )}> {!!has_extra_settings && (
{extra_settings.map(setting => ( ))}
)}
); };