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 => (
))}
)}
);
};