Files
GS13NG/tgui-next/packages/tgui/interfaces/SatelliteControl.js
T

46 lines
1.4 KiB
JavaScript

import { useBackend } from '../backend';
import { Button, LabeledList, ProgressBar, Section, Table, Box } from '../components';
import { Fragment } from 'inferno';
import { LabeledListItem } from '../components/LabeledList';
export const SatelliteControl = props => {
const { act, data } = useBackend(props);
const satellites = data.satellites || [];
return (
<Fragment>
{data.meteor_shield && (
<Section>
<LabeledList>
<LabeledListItem label="Coverage">
<ProgressBar
value={data.meteor_shield_coverage
/ data.meteor_shield_coverage_max}
content={100 * data.meteor_shield_coverage
/ data.meteor_shield_coverage_max + '%'}
ranges={{
good: [1, Infinity],
average: [0.30, 1],
bad: [-Infinity, 0.30],
}} />
</LabeledListItem>
</LabeledList>
</Section>
)}
<Section title="Satellite Controls">
<Box mr={-1}>
{satellites.map(satellite => (
<Button.Checkbox
key={satellite.id}
checked={satellite.active}
content={"#" + satellite.id + " " + satellite.mode}
onClick={() => act('toggle', {
id: satellite.id,
})}
/>
))}
</Box>
</Section>
</Fragment>
);
};