import { round } from 'common/math';
import { useBackend } from '../backend';
import { Box, Button, Flex, Icon, LabeledList, NoticeBox, ProgressBar, Section } from '../components';
import { NtosWindow } from '../layouts';
export const NtosNetDownloader = (props, context) => {
const { act, data } = useBackend(context);
const {
PC_device_theme,
disk_size,
disk_used,
downloadable_programs = [],
error,
hacked_programs = [],
hackedavailable,
} = data;
return (
{!!error && (
{error}
)}
{`${disk_used} GQ / ${disk_size} GQ`}
{downloadable_programs.map((program) => (
))}
{!!hackedavailable && (
Please note that Nanotrasen does not recommend download of
software from non-official servers.
{hacked_programs.map((program) => (
))}
)}
);
};
const Program = (props, context) => {
const { program } = props;
const { act, data } = useBackend(context);
const {
disk_size,
disk_used,
downloadcompletion,
downloading,
downloadname,
downloadsize,
downloadspeed,
downloads_queue,
} = data;
const disk_free = disk_size - disk_used;
return (
{program.filedesc}
{program.size} GQ
{(program.filename === downloadname && (
{round((downloadcompletion / downloadsize) * 100, 1)}% (
{downloadspeed}GQ/s)
)) ||
(downloads_queue.indexOf(program.filename) !== -1 && (
)) || (
{program.compatibility !== 'Compatible' && (
Incompatible!
)}
{program.size > disk_free && (
Not enough disk space!
)}
{program.fileinfo}
);
};