Merge pull request #576 from daviesgeek/add-mqtt-status-in-channel

Add mqtt status icon in channels with uplink/downlink enabled
This commit is contained in:
Garth Vander Houwen 2024-03-29 16:07:53 -07:00 committed by GitHub
commit 324d0b62ab
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 9 additions and 5 deletions

View file

@ -9,6 +9,7 @@ struct ConnectedDevice: View {
var bluetoothOn: Bool
var deviceConnected: Bool
var name: String
var mqttProxyEnabled: Bool = false
var mqttProxyConnected: Bool = false
var phoneOnly: Bool = false
@ -18,11 +19,11 @@ struct ConnectedDevice: View {
if (phoneOnly && UIDevice.current.userInterfaceIdiom == .phone) || !phoneOnly {
if bluetoothOn {
if deviceConnected && mqttProxyConnected {
if mqttProxyConnected {
if deviceConnected && (mqttProxyEnabled || mqttProxyConnected) {
if (mqttProxyConnected || mqttProxyEnabled) {
Image(systemName: "iphone.gen3.radiowaves.left.and.right.circle.fill")
.imageScale(.large)
.foregroundColor(.green)
.foregroundColor(mqttProxyConnected ? .green : .gray)
.symbolRenderingMode(.hierarchical)
}
}

View file

@ -156,7 +156,10 @@ struct ChannelMessageList: View {
ConnectedDevice(
bluetoothOn: bleManager.isSwitchedOn,
deviceConnected: bleManager.connectedPeripheral != nil,
name: (bleManager.connectedPeripheral != nil) ? bleManager.connectedPeripheral.shortName : "?")
name: (bleManager.connectedPeripheral != nil) ? bleManager.connectedPeripheral.shortName : "?",
mqttProxyEnabled: channel.uplinkEnabled || channel.downlinkEnabled,
mqttProxyConnected: channel.uplinkEnabled || channel.downlinkEnabled ? bleManager.mqttProxyConnected : false
)
}
}
}

View file

@ -289,7 +289,7 @@ struct MQTTConfig: View {
.navigationTitle("mqtt.config")
.navigationBarItems(trailing:
ZStack {
ConnectedDevice(bluetoothOn: bleManager.isSwitchedOn, deviceConnected: bleManager.connectedPeripheral != nil, name: (bleManager.connectedPeripheral != nil) ? bleManager.connectedPeripheral.shortName : "?", mqttProxyConnected: bleManager.mqttProxyConnected)
ConnectedDevice(bluetoothOn: bleManager.isSwitchedOn, deviceConnected: bleManager.connectedPeripheral != nil, name: (bleManager.connectedPeripheral != nil) ? bleManager.connectedPeripheral.shortName : "?", mqttProxyEnabled: self.enabled, mqttProxyConnected: bleManager.mqttProxyConnected)
})
.onChange(of: address) { newAddress in
if node != nil && node?.mqttConfig != nil {