From 7d236c10c85039ed4a0db5d76d1ef47bd92d9888 Mon Sep 17 00:00:00 2001 From: Garth Vander Houwen Date: Tue, 27 Sep 2022 09:23:52 -0700 Subject: [PATCH] Disable settings when you are not subscribed so 1.2 nodes stop crashing and instead get a warning --- Meshtastic/Views/Settings/Settings.swift | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/Meshtastic/Views/Settings/Settings.swift b/Meshtastic/Views/Settings/Settings.swift index 1b290924..f33bec77 100644 --- a/Meshtastic/Views/Settings/Settings.swift +++ b/Meshtastic/Views/Settings/Settings.swift @@ -44,7 +44,6 @@ struct Settings: View { .symbolRenderingMode(.hierarchical) Text("Share Channels QR Code") } - .disabled(bleManager.connectedPeripheral == nil) NavigationLink { UserConfig(node: nodes.first(where: { $0.num == connectedNodeNum })) @@ -55,7 +54,6 @@ struct Settings: View { Text("User") } - .disabled(bleManager.connectedPeripheral == nil) NavigationLink() { @@ -67,7 +65,6 @@ struct Settings: View { Text("LoRa") } - .disabled(bleManager.connectedPeripheral == nil) NavigationLink() { @@ -79,7 +76,6 @@ struct Settings: View { Text("Bluetooth (BLE)") } - .disabled(bleManager.connectedPeripheral == nil) NavigationLink { DeviceConfig(node: nodes.first(where: { $0.num == connectedNodeNum })) @@ -89,7 +85,6 @@ struct Settings: View { .symbolRenderingMode(.hierarchical) Text("Device") } - .disabled(bleManager.connectedPeripheral == nil) NavigationLink { DisplayConfig(node: nodes.first(where: { $0.num == connectedNodeNum })) @@ -99,7 +94,6 @@ struct Settings: View { .symbolRenderingMode(.hierarchical) Text("Display (Device Screen)") } - .disabled(bleManager.connectedPeripheral == nil) NavigationLink { NetworkConfig(node: nodes.first(where: { $0.num == connectedNodeNum })) @@ -110,7 +104,6 @@ struct Settings: View { Text("Network (ESP32 Only)") } - .disabled(bleManager.connectedPeripheral == nil) NavigationLink { PositionConfig(node: nodes.first(where: { $0.num == connectedNodeNum })) @@ -121,7 +114,6 @@ struct Settings: View { Text("Position") } - .disabled(bleManager.connectedPeripheral == nil) } Section("Module Configuration") { @@ -135,7 +127,6 @@ struct Settings: View { Text("Canned Messages") } - .disabled(bleManager.connectedPeripheral == nil) NavigationLink { ExternalNotificationConfig(node: nodes.first(where: { $0.num == connectedNodeNum })) @@ -146,7 +137,6 @@ struct Settings: View { Text("External Notification") } - .disabled(bleManager.connectedPeripheral == nil) NavigationLink { MQTTConfig(node: nodes.first(where: { $0.num == connectedNodeNum })) @@ -157,7 +147,6 @@ struct Settings: View { Text("MQTT (ESP32 Only)") } - .disabled(bleManager.connectedPeripheral == nil) NavigationLink { RangeTestConfig(node: nodes.first(where: { $0.num == connectedNodeNum })) @@ -168,7 +157,6 @@ struct Settings: View { Text("Range Test (ESP32 Only)") } - .disabled(bleManager.connectedPeripheral == nil) NavigationLink { SerialConfig(node: nodes.first(where: { $0.num == connectedNodeNum })) @@ -179,8 +167,6 @@ struct Settings: View { Text("Serial") } - .disabled(bleManager.connectedPeripheral == nil) - NavigationLink { TelemetryConfig(node: nodes.first(where: { $0.num == connectedNodeNum })) @@ -191,7 +177,6 @@ struct Settings: View { Text("Telemetry (Sensors)") } - .disabled(bleManager.connectedPeripheral == nil) } Section(header: Text("Logging")) { @@ -219,14 +204,13 @@ struct Settings: View { Text("Admin Message Log") } - .disabled(bleManager.connectedPeripheral == nil) } // Not Implemented: // Store Forward Config - Not Working, TBEAM Only - // MQTT Config - Can do from WebUI once WiFi is enabled + } - .disabled(bleManager.connectedPeripheral == nil || !bleManager.connectedPeripheral.subscribed) + .disabled(!(bleManager.connectedPeripheral?.subscribed ?? true)) .onAppear { self.bleManager.context = context