From c2eb510b4ada598166e7aa7d7877cb155558221c Mon Sep 17 00:00:00 2001 From: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com> Date: Tue, 25 Jun 2024 13:32:05 +0400 Subject: [PATCH] update --- .../UserSettings/ProtocolServerView.swift | 9 ++++- .../UserSettings/ProtocolServersView.swift | 15 +++---- .../UserSettings/ScanProtocolServer.swift | 2 +- apps/ios/SimpleX.xcodeproj/project.pbxproj | 40 +++++++++---------- apps/ios/SimpleXChat/APITypes.swift | 18 ++++++--- 5 files changed, 48 insertions(+), 36 deletions(-) diff --git a/apps/ios/Shared/Views/UserSettings/ProtocolServerView.swift b/apps/ios/Shared/Views/UserSettings/ProtocolServerView.swift index 6702ab7ce8..8926ee09fa 100644 --- a/apps/ios/Shared/Views/UserSettings/ProtocolServerView.swift +++ b/apps/ios/Shared/Views/UserSettings/ProtocolServerView.swift @@ -14,6 +14,7 @@ struct ProtocolServerView: View { let serverProtocol: ServerProtocol @Binding var server: ServerCfg @State var serverToEdit: ServerCfg + @State var serverEnabled: Bool @State private var showTestFailure = false @State private var testing = false @State private var testFailure: ProtocolTestFailure? @@ -110,7 +111,10 @@ struct ProtocolServerView: View { Spacer() showTestStatus(server: serverToEdit) } - Toggle("Use for new connections", isOn: $serverToEdit.enabled) + Toggle("Use for new connections", isOn: $serverEnabled) + .onChange(of: serverEnabled) { enabled in + serverToEdit.enabled = enabled ? .enabled : .disabled + } } } } @@ -179,7 +183,8 @@ struct ProtocolServerView_Previews: PreviewProvider { ProtocolServerView( serverProtocol: .smp, server: Binding.constant(ServerCfg.sampleData.custom), - serverToEdit: ServerCfg.sampleData.custom + serverToEdit: ServerCfg.sampleData.custom, + serverEnabled: true ) } } diff --git a/apps/ios/Shared/Views/UserSettings/ProtocolServersView.swift b/apps/ios/Shared/Views/UserSettings/ProtocolServersView.swift index b9163d4bad..db82008182 100644 --- a/apps/ios/Shared/Views/UserSettings/ProtocolServersView.swift +++ b/apps/ios/Shared/Views/UserSettings/ProtocolServersView.swift @@ -159,7 +159,7 @@ struct ProtocolServersView: View { } private var allServersDisabled: Bool { - servers.allSatisfy { !$0.enabled } + servers.allSatisfy { $0.enabled != .enabled } } private func protocolServerView(_ server: Binding) -> some View { @@ -168,7 +168,8 @@ struct ProtocolServersView: View { ProtocolServerView( serverProtocol: serverProtocol, server: server, - serverToEdit: srv + serverToEdit: srv, + serverEnabled: srv.enabled == .enabled ) .navigationBarTitle(srv.preset ? "Preset server" : "Your server") .navigationBarTitleDisplayMode(.large) @@ -181,7 +182,7 @@ struct ProtocolServersView: View { invalidServer() } else if !uniqueAddress(srv, address) { Image(systemName: "exclamationmark.circle").foregroundColor(.red) - } else if !srv.enabled { + } else if srv.enabled != .enabled { Image(systemName: "slash.circle").foregroundColor(.secondary) } else { showTestStatus(server: srv) @@ -194,7 +195,7 @@ struct ProtocolServersView: View { .padding(.trailing, 4) let v = Text(address?.hostnames.first ?? srv.server).lineLimit(1) - if srv.enabled { + if srv.enabled == .enabled { v } else { v.foregroundColor(.secondary) @@ -235,7 +236,7 @@ struct ProtocolServersView: View { private func addAllPresets() { for srv in presetServers { if !hasPreset(srv) { - servers.append(ServerCfg(server: srv, preset: true, tested: nil, enabled: true)) + servers.append(ServerCfg(server: srv, preset: true, tested: nil, enabled: .enabled)) } } } @@ -260,7 +261,7 @@ struct ProtocolServersView: View { private func resetTestStatus() { for i in 0.. [String: ProtocolTestFailure] { var fs: [String: ProtocolTestFailure] = [:] for i in 0..