From e5909d4e124309afbc289e5fedd9d84559b71ab1 Mon Sep 17 00:00:00 2001
From: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
Date: Mon, 30 May 2022 09:05:02 +0100
Subject: [PATCH] ios: SMP servers settings page layout (#711)
---
.../Views/UserSettings/SMPServers.swift | 117 +++++++++---------
.../Views/UserSettings/SettingsView.swift | 2 +-
.../en.xcloc/Localized Contents/en.xliff | 10 +-
.../ru.xcloc/Localized Contents/ru.xliff | 10 +-
4 files changed, 68 insertions(+), 71 deletions(-)
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
Сохранить