diff --git a/apps/ios/Shared/Views/UserSettings/SMPServers.swift b/apps/ios/Shared/Views/UserSettings/SMPServers.swift index a687f613c..35909320d 100644 --- a/apps/ios/Shared/Views/UserSettings/SMPServers.swift +++ b/apps/ios/Shared/Views/UserSettings/SMPServers.swift @@ -23,58 +23,72 @@ struct SMPServers: View { @FocusState private var keyboardVisible: Bool var body: some View { - return VStack(alignment: .leading) { - Toggle("Configure SMP servers", isOn: $isUserSMPServersToggle) - .onChange(of: isUserSMPServersToggle) { _ in - if (isUserSMPServersToggle) { - isUserSMPServers = true - } else { - let servers = chatModel.userSMPServers ?? [] - if (!servers.isEmpty) { - showResetServersAlert = true + List { + Section { + Toggle("Configure SMP servers", isOn: $isUserSMPServersToggle) + .onChange(of: isUserSMPServersToggle) { _ in + if (isUserSMPServersToggle) { + isUserSMPServers = true } else { - isUserSMPServers = false - userSMPServersStr = "" - } - } - } - .padding(.bottom) - .alert(isPresented: $showResetServersAlert) { - Alert( - title: Text("Use SimpleX Chat servers?"), - message: Text("Saved SMP servers will be removed"), - primaryButton: .destructive(Text("Confirm")) { - saveSMPServers(smpServers: []) - isUserSMPServers = false - userSMPServersStr = "" - }, secondaryButton: .cancel() { - withAnimation() { - isUserSMPServersToggle = true + let servers = chatModel.userSMPServers ?? [] + if (!servers.isEmpty) { + showResetServersAlert = true + } else { + isUserSMPServers = false + userSMPServersStr = "" } } - ) + } + .alert(isPresented: $showResetServersAlert) { + Alert( + title: Text("Use SimpleX Chat servers?"), + message: Text("Saved SMP servers will be removed"), + primaryButton: .destructive(Text("Confirm")) { + saveSMPServers(smpServers: []) + isUserSMPServers = false + userSMPServersStr = "" + }, secondaryButton: .cancel() { + withAnimation() { + isUserSMPServersToggle = true + } + } + ) + } + } header: { + Text("") + } footer: { + if !isUserSMPServers { + Text("Using SimpleX Chat servers.") } + } - if !isUserSMPServers { - Text("Using SimpleX Chat servers.") - .frame(maxWidth: .infinity, alignment: .leading) - } else { - VStack(alignment: .leading) { - Text("Enter one SMP server per line:") + if isUserSMPServers { + Section { if editSMPServers { TextEditor(text: $userSMPServersStr) .focused($keyboardVisible) .font(serversFont) .disableAutocorrection(true) .textInputAutocapitalization(.never) - .padding(.horizontal, 5) - .padding(.top, 2) - .frame(height: 112) - .overlay( - RoundedRectangle(cornerRadius: 10) - .strokeBorder(.secondary, lineWidth: 0.3, antialiased: true) - ) - HStack(spacing: 20) { + .padding(.horizontal, -5) + .padding(.top, -8) + .frame(height: 160, alignment: .topLeading) + .frame(maxWidth: .infinity, alignment: .leading) + } else { + ScrollView { + Text(userSMPServersStr) + .font(serversFont) + .frame(minHeight: 0, alignment: .topLeading) + .textSelection(.enabled) + .frame(maxWidth: .infinity, alignment: .leading) + } + .frame(height: 160) + } + } header: { + Text("SMP servers (one per line)") + } footer: { + HStack(spacing: 20) { + if editSMPServers { Button("Cancel") { initialize() } @@ -86,22 +100,7 @@ struct SMPServers: View { } Spacer() howToButton() - } - } else { - ScrollView { - Text(userSMPServersStr) - .font(serversFont) - .padding(10) - .frame(minHeight: 0, alignment: .topLeading) - .textSelection(.enabled) - .frame(maxWidth: .infinity, alignment: .leading) - } - .frame(height: 160) - .overlay( - RoundedRectangle(cornerRadius: 10) - .strokeBorder(.secondary, lineWidth: 0.3, antialiased: true) - ) - HStack { + } else { Button("Edit") { editSMPServers = true } @@ -109,12 +108,10 @@ struct SMPServers: View { howToButton() } } + .font(.body) } - .frame(maxWidth: .infinity) } } - .padding() - .frame(maxHeight: .infinity, alignment: .top) .onAppear { initialize() } } diff --git a/apps/ios/Shared/Views/UserSettings/SettingsView.swift b/apps/ios/Shared/Views/UserSettings/SettingsView.swift index 4ef9730c6..ca1ec83e4 100644 --- a/apps/ios/Shared/Views/UserSettings/SettingsView.swift +++ b/apps/ios/Shared/Views/UserSettings/SettingsView.swift @@ -23,7 +23,7 @@ let DEFAULT_WEBRTC_POLICY_RELAY = "webrtcPolicyRelay" let DEFAULT_PRIVACY_ACCEPT_IMAGES = "privacyAcceptImages" let DEFAULT_PRIVACY_LINK_PREVIEWS = "privacyLinkPreviews" -let appDefaults: [String:Any] = [ +let appDefaults: [String: Any] = [ DEFAULT_SHOW_LA_NOTICE: false, DEFAULT_LA_NOTICE_SHOWN: false, DEFAULT_PERFORM_LA: false, diff --git a/apps/ios/SimpleX Localizations/en.xcloc/Localized Contents/en.xliff b/apps/ios/SimpleX Localizations/en.xcloc/Localized Contents/en.xliff index ad1421a49..a752ee655 100644 --- a/apps/ios/SimpleX Localizations/en.xcloc/Localized Contents/en.xliff +++ b/apps/ios/SimpleX Localizations/en.xcloc/Localized Contents/en.xliff @@ -506,11 +506,6 @@ Enable notifications? (BETA) No comment provided by engineer. - - Enter one SMP server per line: - Enter one SMP server per line: - No comment provided by engineer. - Error deleting token Error deleting token @@ -846,6 +841,11 @@ We will be adding server redundancy to prevent lost messages. SMP servers No comment provided by engineer. + + SMP servers (one per line) + SMP servers (one per line) + No comment provided by engineer. + Save Save diff --git a/apps/ios/SimpleX Localizations/ru.xcloc/Localized Contents/ru.xliff b/apps/ios/SimpleX Localizations/ru.xcloc/Localized Contents/ru.xliff index 665b324bb..716579010 100644 --- a/apps/ios/SimpleX Localizations/ru.xcloc/Localized Contents/ru.xliff +++ b/apps/ios/SimpleX Localizations/ru.xcloc/Localized Contents/ru.xliff @@ -506,11 +506,6 @@ Включить уведомления? (БЕТА) No comment provided by engineer. - - Enter one SMP server per line: - Введите SMP серверы, каждый на отдельной строке: - No comment provided by engineer. - Error deleting token Ошибка удаления токена @@ -846,6 +841,11 @@ We will be adding server redundancy to prevent lost messages. SMP серверы No comment provided by engineer. + + SMP servers (one per line) + SMP серверы (один на строке) + No comment provided by engineer. + Save Сохранить