ios, android: disable save and test buttons if all servers are disabled (#1457)

This commit is contained in:
JRoberts
2022-11-29 12:28:26 +04:00
committed by GitHub
parent 00466f4654
commit 9295bdca3e
2 changed files with 27 additions and 11 deletions

View File

@@ -63,7 +63,7 @@ struct SMPServersView: View {
Button("Reset") { servers = m.userSMPServers ?? [] }
.disabled(servers == m.userSMPServers || testing)
Button("Test servers", action: testServers)
.disabled(testing)
.disabled(testing || allServersDisabled)
Button("Save servers", action: saveSMPServers)
.disabled(saveDisabled)
howToButton()
@@ -101,12 +101,20 @@ struct SMPServersView: View {
}
private var saveDisabled: Bool {
servers.count == 0 || servers == m.userSMPServers || testing || !servers.allSatisfy { srv in
servers.isEmpty ||
servers == m.userSMPServers ||
testing ||
!servers.allSatisfy { srv in
if let address = parseServerAddress(srv.server) {
return uniqueAddress(srv, address)
}
return false
}
} ||
allServersDisabled
}
private var allServersDisabled: Bool {
servers.allSatisfy { !$0.enabled }
}
private func smpServerView(_ server: Binding<ServerCfg>) -> some View {