import { useBackend } from '../backend'; import { Window } from '../layouts'; import { Fragment } from 'inferno'; import { Button, Box, Section, LabeledList, NumberInput, Icon } from '../components'; import { round } from 'common/math'; import { formatSiUnit, formatPower } from '../format'; import { FullscreenNotice } from './common/FullscreenNotice'; export const ShieldGenerator = (props, context) => { const { act, data } = useBackend(context); const { locked } = data; return ( {locked ? : } ); }; const ShieldGeneratorLocked = (props, context) => ( Swipe your ID to begin. ); const ShieldGeneratorContent = (props, context) => { const { act, data } = useBackend(context); const { capacitors, active, failing, radius, max_radius, z_range, max_z_range, average_field_strength, target_field_strength, max_field_strength, shields, upkeep, strengthen_rate, max_strengthen_rate, gen_power, } = data.lockedData; const capacitorLen = (capacitors || []).length; return (
{failing ? Unstable : Stable} {round(average_field_strength, 2)} Renwick ( {(target_field_strength && round((100 * average_field_strength) / target_field_strength, 1)) || 'NA'}%) {formatPower(upkeep)} {formatPower(gen_power)} {shields} m² {capacitorLen ? ( capacitors.map((cap, i) => ( {cap.active ? Online : Offline} {formatSiUnit(cap.stored_charge, 0, 'J')} ({100 * round(cap.stored_charge / cap.max_charge, 2)} %) {cap.failing ? Discharging : OK.} )) ) : ( No Capacitors Connected )}
act('toggle')} /> }> act('change_radius', { val: val })} /> act('z_range', { val: val })} /> round(val, 1)} unit="Renwick/s" onDrag={(e, val) => act('strengthen_rate', { val: val })} /> act('target_field_strength', { val: val })} />
); };