import { Fragment } from 'inferno';
import { useBackend } from '../backend';
import { RADIO_CHANNELS } from '../constants';
import { Box, Button, LabeledList, NoticeBox, Section, Tabs, Input } from '../components';
export const Telemonitor = props => {
const { act, data } = useBackend(props);
const {
notice,
network = "NULL",
servers,
selected = null,
selected_servers,
} = data;
const operational = (selected && selected.status);
return (
{!!notice && (
{notice}
)}
)}>
{!selected ? (
servers ? (
`${servers.length} currently probed and buffered`
) : (
'Buffer is empty!'
)
) : (
selected_servers ? (
`${selected_servers.length} currently probed and buffered`
) : (
'Connected devices is empty!'
)
)}
act('mainmenu')}
/>
)}>
{selected ? (
`${selected.name} (${selected.id})`
) : (
"None (None)"
)}
{(servers && servers.length) ? (
{servers.map(server => {
return (
act('viewmachine', {
'value': server.id,
})} />
)}>
{`${server.name} (${server.id})`}
);
})}
) : (
'404 Servers not found. Have you tried scanning the network?'
)}
{operational ? (
'Running'
) : (
'Server down!'
)}
{operational ? ( // Not to be confused to totaltraffic
selected.traffic <= 1024 ? (
`${Math.max(selected.traffic, 0)} Gigabytes`
) : (
`${Math.round(selected.traffic/1024)} Terrabytes`
)
) : (
'0 Gigabytes'
)}
{operational ? (
selected.netspeed <= 1024 ? (
`${selected.netspeed} Gigabytes/second`
) : (
`${Math.round(selected.netspeed/1024)} Terrabytes/second`
)
) : (
'0 Gigabytes/second'
)}
{(operational && selected.long_range_link) ? (
'true'
) : (
'false'
)}
{operational && selected.freq_listening.map(thing => {
const valid = RADIO_CHANNELS
.find(channel => channel.freq === thing);
return (
(valid) ? (
{`[${thing}] (${valid.name}) `}
) : (
`[${thing}] `
)
);
})}
{(operational && selected_servers) ? (
{selected_servers.map(server => {
return (
act('viewmachine', {
'value': server.id,
})} />
)}>
{`${server.name} (${server.id})`}
);
})}
) : (
!operational ? (
"Server currently down! Cannot fetch the buffer list!"
) : (
"Buffer is empty!"
)
)}
);
};