mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-26 14:39:58 +01:00
Removes more NTNet from Tablets and removes a ton of dead code (#74085)
## About The Pull Request Removes NtNet softwaredownload/communication because they did nothing, so this also removes the feature to shut them off from Wirecarp I removed tablets from being added to networks, Tablets already generate logs for actions they do, which is already enough for the effects it has in-game (just being visible to Wirecarp), once NtNet is deleted from everything else then we can move it to ModPCs and limit logging to only ModPC actions. Fixes shutting off ntnet relays from Wirecarp, now you can properly shut off Ntnet, and the warning that it kicks you out of the program is now true. Gives the Holodeck it's own network root define and fixes Syndicate network showing up on Wirecarp Wirecarp's PDA logs now shows the source of an action ## Why It's Good For The Game Moves ModPCs further from NTNet so we can move towards deleting it entirely Makes Wirecarp more responsible and trustworthy Removes useless stuff that never gets used, simplifying a overthought overcomplicated system. ## Changelog 🆑 balance: Wirecarp now properly shuts off NtNet remotely. balance: Wirecarp now shows the source of a PDA that does an action. fix: Wirecarp can no longer be used to see if Nukies exist through their networks. del: Removes Software downloading and communication Ntnet networks, as they were pretty worthless. /🆑
This commit is contained in:
@@ -1,12 +1,4 @@
|
||||
//NTNet stuff, for modular computers
|
||||
// NTNet module-configuration values. Do not change these. If you need to add another use larger number (5..6..7 etc)
|
||||
#define NTNET_SOFTWAREDOWNLOAD 1 // Downloads of software from NTNet
|
||||
#define NTNET_COMMUNICATION 2 // Communication (messaging)
|
||||
|
||||
//NTNet transfer speeds, used when downloading/uploading a file/program.
|
||||
#define NTNETSPEED_LOWSIGNAL 0.5 // GQ/s transfer speed when the device is wirelessly connected and on Low signal
|
||||
#define NTNETSPEED_HIGHSIGNAL 1 // GQ/s transfer speed when the device is wirelessly connected and on High signal
|
||||
#define NTNETSPEED_ETHERNET 2 // GQ/s transfer speed when the device is using wired connection
|
||||
|
||||
//Caps for NTNet logging. Less than 10 would make logging useless anyway, more than 500 may make the log browser too laggy. Defaults to 100 unless user changes it.
|
||||
#define MAX_NTNET_LOGS 300
|
||||
@@ -31,6 +23,11 @@
|
||||
#define DETOMATIX_RESIST_MINOR 1
|
||||
#define DETOMATIX_RESIST_MAJOR 2
|
||||
|
||||
//NTNet transfer speeds, used when downloading/uploading a file/program.
|
||||
#define NTNETSPEED_LOWSIGNAL 0.5 // GQ/s transfer speed when the device is wirelessly connected and on Low signal
|
||||
#define NTNETSPEED_HIGHSIGNAL 1 // GQ/s transfer speed when the device is wirelessly connected and on High signal
|
||||
#define NTNETSPEED_ETHERNET 2 // GQ/s transfer speed when the device is using wired connection
|
||||
|
||||
// NTNet connection signals
|
||||
///When you're away from the station/mining base and not on a console, you can't access the internet
|
||||
#define NTNET_NO_SIGNAL 0
|
||||
|
||||
@@ -14,35 +14,21 @@
|
||||
#define NETWORK_NAME_COMBINE(L,R) ((L) + "." + (R))
|
||||
|
||||
/// Station network names. Used as the root networks for main parts of the station
|
||||
#define __STATION_NETWORK_ROOT "SS13"
|
||||
#define __CENTCOM_NETWORK_ROOT "CENTCOM"
|
||||
#define __SYNDICATE_NETWORK_ROOT "SYNDI"
|
||||
#define __LIMBO_NETWORK_ROOT "LIMBO" // Limbo is a dead network
|
||||
#define HOLODECK_NETWORK_ROOT "HOLODECK"
|
||||
#define STATION_NETWORK_ROOT "SS13"
|
||||
#define CENTCOM_NETWORK_ROOT "CENTCOM"
|
||||
#define SYNDICATE_NETWORK_ROOT "SYNDI"
|
||||
#define LIMBO_NETWORK_ROOT "LIMBO" // Limbo is a dead network
|
||||
|
||||
|
||||
/// various sub networks pieces
|
||||
#define __NETWORK_LIMBO "LIMBO"
|
||||
#define __NETWORK_TOOLS "TOOLS"
|
||||
#define __NETWORK_CONTROL "CONTROL"
|
||||
#define __NETWORK_STORAGE "STORAGE"
|
||||
#define __NETWORK_CARGO "CARGO"
|
||||
#define __NETWORK_BOTS "BOTS"
|
||||
#define __NETWORK_COMPUTER "COMPUTER"
|
||||
#define __NETWORK_TABLETS "TABLETS"
|
||||
#define __NETWORK_CIRCUITS "CIRCUITS"
|
||||
|
||||
/// Various combined subnetworks
|
||||
#define NETWORK_TABLETS NETWORK_NAME_COMBINE(__NETWORK_COMPUTER, __NETWORK_TABLETS)
|
||||
#define NETWORK_BOTS_CARGO NETWORK_NAME_COMBINE(__NETWORK_CARGO, __NETWORK_BOTS)
|
||||
|
||||
|
||||
// Finally turn eveything into strings
|
||||
#define STATION_NETWORK_ROOT __STATION_NETWORK_ROOT
|
||||
#define CENTCOM_NETWORK_ROOT __CENTCOM_NETWORK_ROOT
|
||||
#define SYNDICATE_NETWORK_ROOT __SYNDICATE_NETWORK_ROOT
|
||||
#define LIMBO_NETWORK_ROOT __LIMBO_NETWORK_ROOT
|
||||
|
||||
|
||||
|
||||
/// Network name should be all caps and no punctuation except for _ and . between domains
|
||||
/// This does a quick an dirty fix to a network name to make sure it works
|
||||
/proc/simple_network_name_fix(name)
|
||||
|
||||
@@ -9,11 +9,6 @@ SUBSYSTEM_DEF(modular_computers)
|
||||
///List of all chat channels created by Chat Client.
|
||||
var/list/chat_channels = list()
|
||||
|
||||
///Boolean on whether downloading software works.
|
||||
var/setting_softwaredownload = TRUE
|
||||
///Boolean on whether downloading communication apps like the Chat client works.
|
||||
var/setting_communication = TRUE
|
||||
|
||||
///Boolean on whether the IDS warning system is enabled
|
||||
var/intrusion_detection_enabled = TRUE
|
||||
///Boolean to show a message warning if there's an active intrusion for Wirecarp users.
|
||||
@@ -48,34 +43,6 @@ SUBSYSTEM_DEF(modular_computers)
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/datum/controller/subsystem/modular_computers/proc/toggle_function(function)
|
||||
if(!function)
|
||||
return
|
||||
function = text2num(function)
|
||||
switch(function)
|
||||
if(NTNET_SOFTWAREDOWNLOAD)
|
||||
setting_softwaredownload = !setting_softwaredownload
|
||||
SSnetworks.add_log("Configuration Updated. Wireless network firewall now [setting_softwaredownload ? "allows" : "disallows"] connection to software repositories.")
|
||||
if(NTNET_COMMUNICATION)
|
||||
setting_communication = !setting_communication
|
||||
SSnetworks.add_log("Configuration Updated. Wireless network firewall now [setting_communication ? "allows" : "disallows"] instant messaging and similar communication services.")
|
||||
|
||||
///Checks whether NTNet is available for a specific function, checking NTNet relays and shutdowns. If none is passed, none is needed.
|
||||
/datum/controller/subsystem/modular_computers/proc/check_function(specific_action = NONE)
|
||||
// No relays found. NTNet is down
|
||||
if(!length(ntnet_relays))
|
||||
return FALSE
|
||||
// Check all relays. If we have at least one working relay, network is up.
|
||||
if(!check_relay_operation())
|
||||
return FALSE
|
||||
|
||||
switch(specific_action)
|
||||
if(NTNET_SOFTWAREDOWNLOAD)
|
||||
return setting_softwaredownload
|
||||
if(NTNET_COMMUNICATION)
|
||||
return setting_communication
|
||||
return TRUE
|
||||
|
||||
///Attempts to find a new file through searching the available stores with its name.
|
||||
/datum/controller/subsystem/modular_computers/proc/find_ntnet_file_by_name(filename)
|
||||
for(var/datum/computer_file/program/programs as anything in available_station_software + available_antag_software)
|
||||
|
||||
@@ -272,9 +272,11 @@ SUBSYSTEM_DEF(networks)
|
||||
// Anything in Centcom is completely isolated
|
||||
// Special case for holodecks.
|
||||
if(istype(A,/area/station/holodeck))
|
||||
A.network_root_id = "HOLODECK" // isolated from the station network
|
||||
A.network_root_id = HOLODECK_NETWORK_ROOT // isolated from the station network
|
||||
else if(SSmapping.level_trait(A.z, ZTRAIT_CENTCOM))
|
||||
A.network_root_id = CENTCOM_NETWORK_ROOT
|
||||
else if(SSmapping.level_trait(A.z, ZTRAIT_RESERVED))
|
||||
A.network_root_id = SYNDICATE_NETWORK_ROOT
|
||||
// Otherwise the default is the station
|
||||
else
|
||||
A.network_root_id = STATION_NETWORK_ROOT
|
||||
|
||||
@@ -34,7 +34,6 @@
|
||||
else if(!dos_failure && !(machine_stat & (NOPOWER|BROKEN|MAINT))) //Turned on
|
||||
set_is_operational(TRUE)
|
||||
|
||||
|
||||
///Proc called to change the value of the `dos_failure` variable and append behavior related to its change.
|
||||
/obj/machinery/ntnet_relay/proc/set_dos_failure(new_value)
|
||||
if(new_value == dos_failure)
|
||||
@@ -47,7 +46,6 @@
|
||||
else //Failure started
|
||||
set_is_operational(FALSE)
|
||||
|
||||
|
||||
/obj/machinery/ntnet_relay/on_set_machine_stat(old_value)
|
||||
if(old_value & (NOPOWER|BROKEN|MAINT))
|
||||
if(relay_enabled && !dos_failure && !(machine_stat & (NOPOWER|BROKEN|MAINT))) //From off to on.
|
||||
@@ -55,7 +53,6 @@
|
||||
else if(machine_stat & (NOPOWER|BROKEN|MAINT)) //From on to off.
|
||||
set_is_operational(FALSE)
|
||||
|
||||
|
||||
/obj/machinery/ntnet_relay/update_icon_state()
|
||||
icon_state = "bus[is_operational ? null : "_off"]"
|
||||
return ..()
|
||||
|
||||
@@ -135,7 +135,6 @@ GLOBAL_LIST_EMPTY(TabletMessengers) // a list of all active messengers, similar
|
||||
|
||||
update_appearance()
|
||||
register_context()
|
||||
init_network_id(NETWORK_TABLETS)
|
||||
Add_Messenger()
|
||||
install_default_programs()
|
||||
|
||||
@@ -468,7 +467,7 @@ GLOBAL_LIST_EMPTY(TabletMessengers) // a list of all active messengers, similar
|
||||
shutdown_computer()
|
||||
return
|
||||
|
||||
if(active_program && active_program.requires_ntnet && !get_ntnet_status(active_program.requires_ntnet_feature))
|
||||
if(active_program && active_program.requires_ntnet && !get_ntnet_status())
|
||||
active_program.event_networkfailure(FALSE) // Active program requires NTNet to run but we've just lost connection. Crash.
|
||||
|
||||
for(var/datum/computer_file/program/idle_programs as anything in idle_threads)
|
||||
@@ -476,7 +475,7 @@ GLOBAL_LIST_EMPTY(TabletMessengers) // a list of all active messengers, similar
|
||||
idle_threads.Remove(idle_programs)
|
||||
continue
|
||||
idle_programs.process_tick(delta_time)
|
||||
idle_programs.ntnet_status = get_ntnet_status(idle_programs.requires_ntnet_feature)
|
||||
idle_programs.ntnet_status = get_ntnet_status()
|
||||
if(idle_programs.requires_ntnet && !idle_programs.ntnet_status)
|
||||
idle_programs.event_networkfailure(TRUE)
|
||||
|
||||
@@ -607,7 +606,7 @@ GLOBAL_LIST_EMPTY(TabletMessengers) // a list of all active messengers, similar
|
||||
to_chat(user, span_danger("\The [src] displays a \"Maximal CPU load reached. Unable to run another program.\" error."))
|
||||
return FALSE
|
||||
|
||||
if(program.requires_ntnet && !get_ntnet_status(program.requires_ntnet_feature)) // The program requires NTNet connection, but we are not connected to NTNet.
|
||||
if(program.requires_ntnet && !get_ntnet_status()) // The program requires NTNet connection, but we are not connected to NTNet.
|
||||
to_chat(user, span_danger("\The [src]'s screen shows \"Unable to connect to NTNet. Please retry. If problem persists contact your system administrator.\" warning."))
|
||||
return FALSE
|
||||
|
||||
@@ -621,9 +620,9 @@ GLOBAL_LIST_EMPTY(TabletMessengers) // a list of all active messengers, similar
|
||||
return TRUE
|
||||
|
||||
// Returns 0 for No Signal, 1 for Low Signal and 2 for Good Signal. 3 is for wired connection (always-on)
|
||||
/obj/item/modular_computer/proc/get_ntnet_status(specific_action = 0)
|
||||
/obj/item/modular_computer/proc/get_ntnet_status()
|
||||
// NTNet is down and we are not connected via wired connection. No signal.
|
||||
if(!SSmodular_computers.check_function(specific_action))
|
||||
if(!SSmodular_computers.check_relay_operation())
|
||||
return NTNET_NO_SIGNAL
|
||||
|
||||
// computers are connected through ethernet
|
||||
@@ -647,7 +646,7 @@ GLOBAL_LIST_EMPTY(TabletMessengers) // a list of all active messengers, similar
|
||||
if(!get_ntnet_status())
|
||||
return FALSE
|
||||
|
||||
return SSnetworks.add_log(text, network_id)
|
||||
return SSnetworks.add_log("[src]: [text]", network_id)
|
||||
|
||||
/obj/item/modular_computer/proc/shutdown_computer(loud = 1)
|
||||
kill_program(forced = TRUE)
|
||||
|
||||
@@ -322,7 +322,7 @@
|
||||
return ..()
|
||||
return FALSE
|
||||
|
||||
/obj/item/modular_computer/pda/silicon/get_ntnet_status(specific_action = 0)
|
||||
/obj/item/modular_computer/pda/silicon/get_ntnet_status()
|
||||
//No borg found
|
||||
if(!silicon_owner)
|
||||
return FALSE
|
||||
|
||||
@@ -21,8 +21,6 @@
|
||||
var/header_program = FALSE
|
||||
/// Set to 1 for program to require nonstop NTNet connection to run. If NTNet connection is lost program crashes.
|
||||
var/requires_ntnet = FALSE
|
||||
/// Optional, if above is set to 1 checks for specific function of NTNet (currently NTNET_SOFTWAREDOWNLOAD and NTNET_COMMUNICATION)
|
||||
var/requires_ntnet_feature = 0
|
||||
/// NTNet status, updated every tick by computer running this program. Don't use this for checks if NTNet works, computers do that. Use this for calculations, etc.
|
||||
var/ntnet_status = 1
|
||||
/// Bitflags (PROGRAM_CONSOLE, PROGRAM_LAPTOP, PROGRAM_TABLET combination) or PROGRAM_ALL
|
||||
@@ -52,7 +50,6 @@
|
||||
temp.filedesc = filedesc
|
||||
temp.program_icon_state = program_icon_state
|
||||
temp.requires_ntnet = requires_ntnet
|
||||
temp.requires_ntnet_feature = requires_ntnet_feature
|
||||
temp.usage_flags = usage_flags
|
||||
return temp
|
||||
|
||||
@@ -61,11 +58,11 @@
|
||||
if(computer)
|
||||
computer.update_appearance()
|
||||
|
||||
// Attempts to create a log in global ntnet datum. Returns 1 on success, 0 on fail.
|
||||
///Attempts to generate an Ntnet log, returns the log on success, FALSE otherwise.
|
||||
/datum/computer_file/program/proc/generate_network_log(text)
|
||||
if(computer)
|
||||
return computer.add_log(text)
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
/**
|
||||
*Runs when the device is used to attack an atom in non-combat mode using right click (secondary).
|
||||
@@ -153,10 +150,10 @@
|
||||
**/
|
||||
/datum/computer_file/program/proc/on_start(mob/living/user)
|
||||
SHOULD_CALL_PARENT(TRUE)
|
||||
if(can_run(user, 1))
|
||||
if(can_run(user, loud = TRUE))
|
||||
if(requires_ntnet)
|
||||
var/obj/item/card/id/ID = computer.computer_id_slot?.GetID()
|
||||
generate_network_log("Connection opened -- Program ID: [filename] User:[ID?"[ID.registered_name]":"None"]")
|
||||
generate_network_log("Connection opened -- Program ID:[filename] User:[ID?"[ID.registered_name]":"None"]")
|
||||
program_state = PROGRAM_STATE_ACTIVE
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
undeletable = TRUE
|
||||
size = 4
|
||||
requires_ntnet = TRUE
|
||||
requires_ntnet_feature = NTNET_SOFTWAREDOWNLOAD
|
||||
available_on_ntnet = FALSE
|
||||
ui_header = "downloader_finished.gif"
|
||||
tgui_id = "NtosNetDownloader"
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
extended_desc = "This program allows communication over NTNRC network"
|
||||
size = 8
|
||||
requires_ntnet = TRUE
|
||||
requires_ntnet_feature = NTNET_COMMUNICATION
|
||||
ui_header = "ntnrc_idle.gif"
|
||||
available_on_ntnet = TRUE
|
||||
tgui_id = "NtosNetChat"
|
||||
|
||||
@@ -22,6 +22,12 @@
|
||||
if("toggleIDS")
|
||||
SSmodular_computers.intrusion_detection_enabled = !SSmodular_computers.intrusion_detection_enabled
|
||||
return TRUE
|
||||
if("toggle_relay")
|
||||
var/obj/machinery/ntnet_relay/target_relay = locate(params["ref"]) in SSmodular_computers.ntnet_relays
|
||||
if(!istype(target_relay))
|
||||
return
|
||||
target_relay.set_relay_enabled(!target_relay.relay_enabled)
|
||||
return TRUE
|
||||
if("purgelogs")
|
||||
SSnetworks.purge_logs()
|
||||
return TRUE
|
||||
@@ -29,24 +35,25 @@
|
||||
var/logcount = params["new_number"]
|
||||
SSnetworks.update_max_log_count(logcount)
|
||||
return TRUE
|
||||
if("toggle_function")
|
||||
SSmodular_computers.toggle_function(text2num(params["id"]))
|
||||
return TRUE
|
||||
if("toggle_mass_pda")
|
||||
var/obj/item/modular_computer/target_tablet = locate(params["ref"]) in GLOB.TabletMessengers
|
||||
if(!istype(target_tablet))
|
||||
return
|
||||
for(var/datum/computer_file/program/messenger/messenger_app in target_tablet.stored_files)
|
||||
messenger_app.spam_mode = !messenger_app.spam_mode
|
||||
return TRUE
|
||||
|
||||
/datum/computer_file/program/ntnetmonitor/ui_data(mob/user)
|
||||
var/list/data = list()
|
||||
|
||||
data["ntnetstatus"] = SSmodular_computers.check_function()
|
||||
data["ntnetrelays"] = SSmodular_computers.ntnet_relays.len
|
||||
data["ntnetrelays"] = list()
|
||||
for(var/obj/machinery/ntnet_relay/relays as anything in SSmodular_computers.ntnet_relays)
|
||||
var/list/relay_data = list()
|
||||
relay_data["is_operational"] = !!relays.is_operational
|
||||
relay_data["name"] = relays.name
|
||||
relay_data["ref"] = REF(relays)
|
||||
|
||||
data["config_softwaredownload"] = SSmodular_computers.setting_softwaredownload
|
||||
data["config_communication"] = SSmodular_computers.setting_communication
|
||||
data["ntnetrelays"] += list(relay_data)
|
||||
|
||||
data["idsstatus"] = SSmodular_computers.intrusion_detection_enabled
|
||||
data["idsalarm"] = SSmodular_computers.intrusion_detection_alarm
|
||||
|
||||
@@ -1,17 +1,20 @@
|
||||
/datum/unit_test/ntnetwork
|
||||
var/list/valid_network_names = list(
|
||||
var/number_of_names_to_test = 50
|
||||
var/length_of_test_network = 5
|
||||
|
||||
var/static/list/valid_network_names = list(
|
||||
"SS13.ATMOS.SCRUBBERS.SM",
|
||||
"DEEPSPACE.HYDRO.PLANT",
|
||||
"SINDIE.STINKS.BUTT",
|
||||
)
|
||||
|
||||
var/list/invalid_network_names = list(
|
||||
var/static/list/invalid_network_names = list(
|
||||
".SS13.BOB",
|
||||
"SS13.OHMAN.",
|
||||
"SS13.HAS A SPACE",
|
||||
)
|
||||
|
||||
var/list/valid_network_trees = list(
|
||||
var/static/list/valid_network_trees = list(
|
||||
list(
|
||||
"SS13",
|
||||
"ATMOS",
|
||||
@@ -30,26 +33,19 @@
|
||||
),
|
||||
)
|
||||
|
||||
var/list/network_roots = list(
|
||||
__STATION_NETWORK_ROOT,
|
||||
__CENTCOM_NETWORK_ROOT,
|
||||
__SYNDICATE_NETWORK_ROOT,
|
||||
__LIMBO_NETWORK_ROOT,
|
||||
var/static/list/network_roots = list(
|
||||
HOLODECK_NETWORK_ROOT,
|
||||
STATION_NETWORK_ROOT,
|
||||
CENTCOM_NETWORK_ROOT,
|
||||
SYNDICATE_NETWORK_ROOT,
|
||||
LIMBO_NETWORK_ROOT,
|
||||
)
|
||||
|
||||
var/list/random_words_for_testing = list(
|
||||
__NETWORK_TOOLS,
|
||||
__NETWORK_CONTROL,
|
||||
__NETWORK_STORAGE,
|
||||
var/static/list/random_words_for_testing = list(
|
||||
__NETWORK_CARGO,
|
||||
__NETWORK_BOTS,
|
||||
__NETWORK_COMPUTER,
|
||||
__NETWORK_TABLETS,
|
||||
)
|
||||
|
||||
var/number_of_names_to_test = 50
|
||||
var/length_of_test_network = 5
|
||||
|
||||
/datum/unit_test/proc/mangle_word(word)
|
||||
var/len = length(word)
|
||||
var/space_pos = round(len/2)
|
||||
|
||||
@@ -7,9 +7,6 @@ export const NtosNetMonitor = (props, context) => {
|
||||
const [tab_main, setTab_main] = useSharedState(context, 'tab_main', 1);
|
||||
const {
|
||||
ntnetrelays,
|
||||
ntnetstatus,
|
||||
config_softwaredownload,
|
||||
config_communication,
|
||||
idsalarm,
|
||||
idsstatus,
|
||||
ntnetmaxlogs,
|
||||
@@ -43,9 +40,6 @@ export const NtosNetMonitor = (props, context) => {
|
||||
<Stack.Item>
|
||||
<MainPage
|
||||
ntnetrelays={ntnetrelays}
|
||||
ntnetstatus={ntnetstatus}
|
||||
config_softwaredownload={config_softwaredownload}
|
||||
config_communication={config_communication}
|
||||
idsalarm={idsalarm}
|
||||
idsstatus={idsstatus}
|
||||
ntnetmaxlogs={ntnetmaxlogs}
|
||||
@@ -68,9 +62,6 @@ export const NtosNetMonitor = (props, context) => {
|
||||
const MainPage = (props, context) => {
|
||||
const {
|
||||
ntnetrelays,
|
||||
ntnetstatus,
|
||||
config_softwaredownload,
|
||||
config_communication,
|
||||
idsalarm,
|
||||
idsstatus,
|
||||
ntnetmaxlogs,
|
||||
@@ -86,41 +77,23 @@ const MainPage = (props, context) => {
|
||||
may prevent you from reenabling them!
|
||||
</NoticeBox>
|
||||
<Section title="Wireless Connectivity">
|
||||
{ntnetrelays ? (
|
||||
<LabeledList>
|
||||
<LabeledList.Item label="Active NTNet Relays">
|
||||
{ntnetrelays}
|
||||
</LabeledList.Item>
|
||||
</LabeledList>
|
||||
) : (
|
||||
'No Relays Connected'
|
||||
)}
|
||||
</Section>
|
||||
<Section title="Firewall Configuration">
|
||||
<LabeledList>
|
||||
<LabeledList.Item
|
||||
label="Software Downloads"
|
||||
{ntnetrelays.map((relay) => (
|
||||
<Section
|
||||
key={relay.ref}
|
||||
title={relay.name}
|
||||
buttons={
|
||||
<Button
|
||||
icon={config_softwaredownload ? 'power-off' : 'times'}
|
||||
content={config_softwaredownload ? 'ENABLED' : 'DISABLED'}
|
||||
selected={config_softwaredownload}
|
||||
onClick={() => act('toggle_function', { id: '1' })}
|
||||
<Button.Confirm
|
||||
color={relay.is_operational ? 'good' : 'bad'}
|
||||
content={relay.is_operational ? 'ENABLED' : 'DISABLED'}
|
||||
onClick={() =>
|
||||
act('toggle_relay', {
|
||||
ref: relay.ref,
|
||||
})
|
||||
}
|
||||
/>
|
||||
}
|
||||
/>
|
||||
<LabeledList.Item
|
||||
label="Communication Systems"
|
||||
buttons={
|
||||
<Button
|
||||
icon={config_communication ? 'power-off' : 'times'}
|
||||
content={config_communication ? 'ENABLED' : 'DISABLED'}
|
||||
selected={config_communication}
|
||||
onClick={() => act('toggle_function', { id: '2' })}
|
||||
/>
|
||||
}
|
||||
/>
|
||||
</LabeledList>
|
||||
))}
|
||||
</Section>
|
||||
<Section title="Security Systems">
|
||||
{!!idsalarm && (
|
||||
@@ -171,7 +144,6 @@ const MainPage = (props, context) => {
|
||||
</LabeledList>
|
||||
<Section
|
||||
title="System Log"
|
||||
level={2}
|
||||
buttons={
|
||||
<Button.Confirm
|
||||
icon="trash"
|
||||
|
||||
Reference in New Issue
Block a user