import { Fragment } from 'inferno'; import { useBackend } from '../backend'; import { Box, Button, LabeledList, ProgressBar, Section, AnimatedNumber } from '../components'; import { Window } from '../layouts'; export const OvermapShieldGenerator = (props, context) => { return ( ); }; const OvermapShieldGeneratorContent = (props, context) => { const { act, data } = useBackend(context); const { modes, offline_for } = data; if (offline_for) { return (
An emergency shutdown has been initiated - generator cooling down. Please wait until the generator cools down before resuming operation. Estimated time left: {offline_for} seconds.
); } return (
{modes.map((mode) => (
act('toggle_mode', { toggle_mode: mode.flag })}> {mode.status ? 'Enabled' : 'Disabled'} }> {mode.desc} Multiplier: {mode.multiplier}
))}
); }; const OvermapShieldGeneratorStatus = (props, context) => { const { act, data } = useBackend(context); const { running, overloaded, mitigation_max, mitigation_physical, mitigation_em, mitigation_heat, field_integrity, max_energy, current_energy, percentage_energy, total_segments, functional_segments, field_radius, target_radius, input_cap_kw, upkeep_power_usage, power_usage, spinup_counter, } = data; return (
{(running === 1 && Shutting Down) || (running === 2 && ((overloaded && Overloaded) || ( Running ))) || (running === 3 && Inactive) || (running === 4 && ( Spinning Up  {(target_radius !== field_radius && ( (Adjusting Radius) )) || {spinup_counter * 2}s} )) || Offline} {current_energy} / {max_energy} MJ ({percentage_energy}%) % {mitigation_em}% EM / {mitigation_physical}% PH / {mitigation_heat}% HE / {mitigation_max}% MAX kW {(input_cap_kw && ( {power_usage} / {input_cap_kw} kW )) || ( kW (No Limit) )}  /  m² (radius{' '} , target{' '} )
); }; const OvermapShieldGeneratorControls = (props, context) => { const { act, data } = useBackend(context); const { running, hacked, idle_multiplier, idle_valid_values } = data; return (
{(running >= 2 && ( {(running === 3 && ( )) || ( )} )) || ( )} {(running && hacked && ( )) || null} }> {idle_valid_values.map((val) => ( ))}
); };