diff --git a/apps/ios/Shared/Views/ChatList/ChatListView.swift b/apps/ios/Shared/Views/ChatList/ChatListView.swift
index efe55152e9..965fd147f7 100644
--- a/apps/ios/Shared/Views/ChatList/ChatListView.swift
+++ b/apps/ios/Shared/Views/ChatList/ChatListView.swift
@@ -25,6 +25,7 @@ struct ChatListView: View {
@AppStorage(DEFAULT_SHOW_UNREAD_AND_FAVORITES) private var showUnreadAndFavorites = false
@AppStorage(GROUP_DEFAULT_ONE_HAND_UI, store: groupDefaults) private var oneHandUI = true
@AppStorage(DEFAULT_ONE_HAND_UI_CARD_SHOWN) private var oneHandUICardShown = false
+ @AppStorage(DEFAULT_TOOLBAR_MATERIAL) private var toolbarMaterial = ToolbarMaterial.bar.rawValue
var body: some View {
if #available(iOS 16.0, *) {
@@ -62,7 +63,8 @@ struct ChatListView: View {
}
private var chatListView: some View {
- withToolbar {
+ let tm = ToolbarMaterial.material(toolbarMaterial)
+ return withToolbar(tm) {
chatList
.background(theme.colors.background)
.navigationBarTitleDisplayMode(.inline)
@@ -87,11 +89,11 @@ struct ChatListView: View {
))
}
.safeAreaInset(edge: .top) {
- if oneHandUI { Divider().background(Material.ultraThin) }
+ if oneHandUI { Divider().background(tm) }
}
.safeAreaInset(edge: .bottom) {
if oneHandUI {
- Divider().padding(.bottom, Self.hasHomeIndicator ? 0 : 8).background(Material.ultraThin)
+ Divider().padding(.bottom, Self.hasHomeIndicator ? 0 : 8).background(tm)
}
}
}
@@ -103,7 +105,7 @@ struct ChatListView: View {
} else { false }
}()
- @ViewBuilder func withToolbar(content: () -> some View) -> some View {
+ @ViewBuilder func withToolbar(_ material: Material, content: () -> some View) -> some View {
if #available(iOS 16.0, *) {
if oneHandUI {
content()
@@ -112,6 +114,7 @@ struct ChatListView: View {
} else {
content()
.toolbarBackground(.automatic, for: .navigationBar)
+ .toolbarBackground(material)
.toolbar { topToolbar }
}
} else {
diff --git a/apps/ios/Shared/Views/UserSettings/AppearanceSettings.swift b/apps/ios/Shared/Views/UserSettings/AppearanceSettings.swift
index 0087aaea1b..6ab91df122 100644
--- a/apps/ios/Shared/Views/UserSettings/AppearanceSettings.swift
+++ b/apps/ios/Shared/Views/UserSettings/AppearanceSettings.swift
@@ -32,8 +32,10 @@ struct AppearanceSettings: View {
if currentThemeDefault.get() == DefaultTheme.SYSTEM_THEME_NAME { nil as DefaultThemeMode? } else { CurrentColors.base.mode }
}()
@State private var darkModeTheme: String = UserDefaults.standard.string(forKey: DEFAULT_SYSTEM_DARK_THEME) ?? DefaultTheme.DARK.themeName
+ @AppStorage(DEFAULT_DEVELOPER_TOOLS) private var developerTools = false
@AppStorage(DEFAULT_PROFILE_IMAGE_CORNER_RADIUS) private var profileImageCornerRadius = defaultProfileImageCorner
@AppStorage(GROUP_DEFAULT_ONE_HAND_UI, store: groupDefaults) private var oneHandUI = true
+ @AppStorage(DEFAULT_TOOLBAR_MATERIAL) private var toolbarMaterial = ToolbarMaterial.bar.rawValue
@State var themeUserDestination: (Int64, ThemeModeOverrides?)? = {
if let currentUser = ChatModel.shared.currentUser, let uiThemes = currentUser.uiThemes, uiThemes.preferredMode(!CurrentColors.colors.isLight) != nil {
@@ -65,6 +67,14 @@ struct AppearanceSettings: View {
Section("Chat list") {
Toggle("Reachable chat toolbar", isOn: $oneHandUI)
+ if developerTools {
+ Picker("Toolbar opacity", selection: $toolbarMaterial) {
+ ForEach(ToolbarMaterial.allCases, id: \.rawValue) { tm in
+ Text(tm.text).tag(tm.rawValue)
+ }
+ }
+ .frame(height: 36)
+ }
}
Section {
@@ -296,6 +306,41 @@ struct AppearanceSettings: View {
}
}
+enum ToolbarMaterial: String, CaseIterable {
+ case bar
+ case ultraThin
+ case thin
+ case regular
+ case thick
+ case ultraThick
+
+ static func material(_ s: String) -> Material {
+ ToolbarMaterial(rawValue: s)?.material ?? Material.bar
+ }
+
+ var material: Material {
+ switch self {
+ case .bar: .bar
+ case .ultraThin: .ultraThin
+ case .thin: .thin
+ case .regular: .regular
+ case .thick: .thick
+ case .ultraThick: .ultraThick
+ }
+ }
+
+ var text: String {
+ switch self {
+ case .bar: "System"
+ case .ultraThin: "Ultra thin"
+ case .thin: "Thin"
+ case .regular: "Regular"
+ case .thick: "Thick"
+ case .ultraThick: "Ultra thick"
+ }
+ }
+}
+
struct ChatThemePreview: View {
@EnvironmentObject var theme: AppTheme
var base: DefaultTheme
diff --git a/apps/ios/Shared/Views/UserSettings/SettingsView.swift b/apps/ios/Shared/Views/UserSettings/SettingsView.swift
index 51ce56939e..634918ffe1 100644
--- a/apps/ios/Shared/Views/UserSettings/SettingsView.swift
+++ b/apps/ios/Shared/Views/UserSettings/SettingsView.swift
@@ -48,6 +48,7 @@ let DEFAULT_ACCENT_COLOR_BLUE = "accentColorBlue" // deprecated, only used for m
let DEFAULT_USER_INTERFACE_STYLE = "userInterfaceStyle" // deprecated, only used for migration
let DEFAULT_PROFILE_IMAGE_CORNER_RADIUS = "profileImageCornerRadius"
let DEFAULT_ONE_HAND_UI_CARD_SHOWN = "oneHandUICardShown"
+let DEFAULT_TOOLBAR_MATERIAL = "toolbarMaterial"
let DEFAULT_CONNECT_VIA_LINK_TAB = "connectViaLinkTab"
let DEFAULT_LIVE_MESSAGE_ALERT_SHOWN = "liveMessageAlertShown"
let DEFAULT_SHOW_HIDDEN_PROFILES_NOTICE = "showHiddenProfilesNotice"
@@ -98,6 +99,7 @@ let appDefaults: [String: Any] = [
DEFAULT_ENCRYPTION_STARTED: false,
DEFAULT_PROFILE_IMAGE_CORNER_RADIUS: defaultProfileImageCorner,
DEFAULT_ONE_HAND_UI_CARD_SHOWN: false,
+ DEFAULT_TOOLBAR_MATERIAL: ToolbarMaterial.bar.rawValue,
DEFAULT_CONNECT_VIA_LINK_TAB: ConnectViaLinkTab.scan.rawValue,
DEFAULT_LIVE_MESSAGE_ALERT_SHOWN: false,
DEFAULT_SHOW_HIDDEN_PROFILES_NOTICE: true,
diff --git a/apps/ios/SimpleX Localizations/bg.xcloc/Localized Contents/bg.xliff b/apps/ios/SimpleX Localizations/bg.xcloc/Localized Contents/bg.xliff
index 4a04212175..ef16d11d94 100644
--- a/apps/ios/SimpleX Localizations/bg.xcloc/Localized Contents/bg.xliff
+++ b/apps/ios/SimpleX Localizations/bg.xcloc/Localized Contents/bg.xliff
@@ -6579,6 +6579,10 @@ You will be prompted to complete authentication before this feature is enabled.<
Избор на инкогнито при свързване.
No comment provided by engineer.
+
+ Toolbar opacity
+ No comment provided by engineer.
+
Total
No comment provided by engineer.
diff --git a/apps/ios/SimpleX Localizations/cs.xcloc/Localized Contents/cs.xliff b/apps/ios/SimpleX Localizations/cs.xcloc/Localized Contents/cs.xliff
index b87d3d85c4..875f3af03d 100644
--- a/apps/ios/SimpleX Localizations/cs.xcloc/Localized Contents/cs.xliff
+++ b/apps/ios/SimpleX Localizations/cs.xcloc/Localized Contents/cs.xliff
@@ -6356,6 +6356,10 @@ Před zapnutím této funkce budete vyzváni k dokončení ověření.
Změnit inkognito režim při připojení.
No comment provided by engineer.
+
+ Toolbar opacity
+ No comment provided by engineer.
+
Total
No comment provided by engineer.
diff --git a/apps/ios/SimpleX Localizations/de.xcloc/Localized Contents/de.xliff b/apps/ios/SimpleX Localizations/de.xcloc/Localized Contents/de.xliff
index a1eb8bfb99..0226debea7 100644
--- a/apps/ios/SimpleX Localizations/de.xcloc/Localized Contents/de.xliff
+++ b/apps/ios/SimpleX Localizations/de.xcloc/Localized Contents/de.xliff
@@ -6757,6 +6757,10 @@ Sie werden aufgefordert, die Authentifizierung abzuschließen, bevor diese Funkt
Inkognito beim Verbinden einschalten.
No comment provided by engineer.
+
+ Toolbar opacity
+ No comment provided by engineer.
+
Total
Summe aller Abonnements
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 2facc0baf5..7e152273eb 100644
--- a/apps/ios/SimpleX Localizations/en.xcloc/Localized Contents/en.xliff
+++ b/apps/ios/SimpleX Localizations/en.xcloc/Localized Contents/en.xliff
@@ -6793,6 +6793,11 @@ You will be prompted to complete authentication before this feature is enabled.<
Toggle incognito when connecting.
No comment provided by engineer.
+
+ Toolbar opacity
+ Toolbar opacity
+ No comment provided by engineer.
+
Total
Total
diff --git a/apps/ios/SimpleX Localizations/es.xcloc/Localized Contents/es.xliff b/apps/ios/SimpleX Localizations/es.xcloc/Localized Contents/es.xliff
index bd12590f1d..9101de2426 100644
--- a/apps/ios/SimpleX Localizations/es.xcloc/Localized Contents/es.xliff
+++ b/apps/ios/SimpleX Localizations/es.xcloc/Localized Contents/es.xliff
@@ -6781,6 +6781,10 @@ Se te pedirá que completes la autenticación antes de activar esta función.Activa incógnito al conectar.
No comment provided by engineer.
+
+ Toolbar opacity
+ No comment provided by engineer.
+
Total
Total
diff --git a/apps/ios/SimpleX Localizations/fi.xcloc/Localized Contents/fi.xliff b/apps/ios/SimpleX Localizations/fi.xcloc/Localized Contents/fi.xliff
index 19f32fc5de..500817570e 100644
--- a/apps/ios/SimpleX Localizations/fi.xcloc/Localized Contents/fi.xliff
+++ b/apps/ios/SimpleX Localizations/fi.xcloc/Localized Contents/fi.xliff
@@ -6341,6 +6341,10 @@ Sinua kehotetaan suorittamaan todennus loppuun, ennen kuin tämä ominaisuus ote
Toggle incognito when connecting.
No comment provided by engineer.
+
+ Toolbar opacity
+ No comment provided by engineer.
+
Total
No comment provided by engineer.
diff --git a/apps/ios/SimpleX Localizations/fr.xcloc/Localized Contents/fr.xliff b/apps/ios/SimpleX Localizations/fr.xcloc/Localized Contents/fr.xliff
index 1c4c951595..3b96738085 100644
--- a/apps/ios/SimpleX Localizations/fr.xcloc/Localized Contents/fr.xliff
+++ b/apps/ios/SimpleX Localizations/fr.xcloc/Localized Contents/fr.xliff
@@ -6750,6 +6750,10 @@ Vous serez invité à confirmer l'authentification avant que cette fonction ne s
Basculer en mode incognito lors de la connexion.
No comment provided by engineer.
+
+ Toolbar opacity
+ No comment provided by engineer.
+
Total
Total
diff --git a/apps/ios/SimpleX Localizations/hu.xcloc/Localized Contents/hu.xliff b/apps/ios/SimpleX Localizations/hu.xcloc/Localized Contents/hu.xliff
index c0c9d22dc8..c5238de475 100644
--- a/apps/ios/SimpleX Localizations/hu.xcloc/Localized Contents/hu.xliff
+++ b/apps/ios/SimpleX Localizations/hu.xcloc/Localized Contents/hu.xliff
@@ -6781,6 +6781,10 @@ A funkció bekapcsolása előtt a rendszer felszólítja a képernyőzár beáll
Inkognitó mód kapcsolódáskor.
No comment provided by engineer.
+
+ Toolbar opacity
+ No comment provided by engineer.
+
Total
Összesen
diff --git a/apps/ios/SimpleX Localizations/it.xcloc/Localized Contents/it.xliff b/apps/ios/SimpleX Localizations/it.xcloc/Localized Contents/it.xliff
index 5b073b048a..2d77002e37 100644
--- a/apps/ios/SimpleX Localizations/it.xcloc/Localized Contents/it.xliff
+++ b/apps/ios/SimpleX Localizations/it.xcloc/Localized Contents/it.xliff
@@ -6781,6 +6781,10 @@ Ti verrà chiesto di completare l'autenticazione prima di attivare questa funzio
Attiva/disattiva l'incognito quando ti colleghi.
No comment provided by engineer.
+
+ Toolbar opacity
+ No comment provided by engineer.
+
Total
Totale
diff --git a/apps/ios/SimpleX Localizations/ja.xcloc/Localized Contents/ja.xliff b/apps/ios/SimpleX Localizations/ja.xcloc/Localized Contents/ja.xliff
index f3c5a5482a..93f59f101d 100644
--- a/apps/ios/SimpleX Localizations/ja.xcloc/Localized Contents/ja.xliff
+++ b/apps/ios/SimpleX Localizations/ja.xcloc/Localized Contents/ja.xliff
@@ -6359,6 +6359,10 @@ You will be prompted to complete authentication before this feature is enabled.<
Toggle incognito when connecting.
No comment provided by engineer.
+
+ Toolbar opacity
+ No comment provided by engineer.
+
Total
No comment provided by engineer.
diff --git a/apps/ios/SimpleX Localizations/nl.xcloc/Localized Contents/nl.xliff b/apps/ios/SimpleX Localizations/nl.xcloc/Localized Contents/nl.xliff
index 368db7c819..e574ecc150 100644
--- a/apps/ios/SimpleX Localizations/nl.xcloc/Localized Contents/nl.xliff
+++ b/apps/ios/SimpleX Localizations/nl.xcloc/Localized Contents/nl.xliff
@@ -6781,6 +6781,10 @@ U wordt gevraagd de authenticatie te voltooien voordat deze functie wordt ingesc
Schakel incognito in tijdens het verbinden.
No comment provided by engineer.
+
+ Toolbar opacity
+ No comment provided by engineer.
+
Total
Totaal
diff --git a/apps/ios/SimpleX Localizations/pl.xcloc/Localized Contents/pl.xliff b/apps/ios/SimpleX Localizations/pl.xcloc/Localized Contents/pl.xliff
index 36dcd781dd..e5bab7b386 100644
--- a/apps/ios/SimpleX Localizations/pl.xcloc/Localized Contents/pl.xliff
+++ b/apps/ios/SimpleX Localizations/pl.xcloc/Localized Contents/pl.xliff
@@ -6730,6 +6730,10 @@ Przed włączeniem tej funkcji zostanie wyświetlony monit uwierzytelniania.Przełącz incognito przy połączeniu.
No comment provided by engineer.
+
+ Toolbar opacity
+ No comment provided by engineer.
+
Total
Łącznie
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 f8923cb7d2..f59461727d 100644
--- a/apps/ios/SimpleX Localizations/ru.xcloc/Localized Contents/ru.xliff
+++ b/apps/ios/SimpleX Localizations/ru.xcloc/Localized Contents/ru.xliff
@@ -6781,6 +6781,10 @@ You will be prompted to complete authentication before this feature is enabled.<
Установите режим Инкогнито при соединении.
No comment provided by engineer.
+
+ Toolbar opacity
+ No comment provided by engineer.
+
Total
Всего
diff --git a/apps/ios/SimpleX Localizations/th.xcloc/Localized Contents/th.xliff b/apps/ios/SimpleX Localizations/th.xcloc/Localized Contents/th.xliff
index 45de018dae..28f216b696 100644
--- a/apps/ios/SimpleX Localizations/th.xcloc/Localized Contents/th.xliff
+++ b/apps/ios/SimpleX Localizations/th.xcloc/Localized Contents/th.xliff
@@ -6313,6 +6313,10 @@ You will be prompted to complete authentication before this feature is enabled.<
Toggle incognito when connecting.
No comment provided by engineer.
+
+ Toolbar opacity
+ No comment provided by engineer.
+
Total
No comment provided by engineer.
diff --git a/apps/ios/SimpleX Localizations/tr.xcloc/Localized Contents/tr.xliff b/apps/ios/SimpleX Localizations/tr.xcloc/Localized Contents/tr.xliff
index cdeeaa46c8..e3961caff5 100644
--- a/apps/ios/SimpleX Localizations/tr.xcloc/Localized Contents/tr.xliff
+++ b/apps/ios/SimpleX Localizations/tr.xcloc/Localized Contents/tr.xliff
@@ -6610,6 +6610,10 @@ Bu özellik etkinleştirilmeden önce kimlik doğrulamayı tamamlamanız istenec
Bağlanırken gizli moda geçiş yap.
No comment provided by engineer.
+
+ Toolbar opacity
+ No comment provided by engineer.
+
Total
No comment provided by engineer.
diff --git a/apps/ios/SimpleX Localizations/uk.xcloc/Localized Contents/uk.xliff b/apps/ios/SimpleX Localizations/uk.xcloc/Localized Contents/uk.xliff
index f9d2066fde..9a856ac600 100644
--- a/apps/ios/SimpleX Localizations/uk.xcloc/Localized Contents/uk.xliff
+++ b/apps/ios/SimpleX Localizations/uk.xcloc/Localized Contents/uk.xliff
@@ -6610,6 +6610,10 @@ You will be prompted to complete authentication before this feature is enabled.<
Увімкніть інкогніто при підключенні.
No comment provided by engineer.
+
+ Toolbar opacity
+ No comment provided by engineer.
+
Total
No comment provided by engineer.
diff --git a/apps/ios/SimpleX Localizations/zh-Hans.xcloc/Localized Contents/zh-Hans.xliff b/apps/ios/SimpleX Localizations/zh-Hans.xcloc/Localized Contents/zh-Hans.xliff
index 9b662594bf..9c23a5bd48 100644
--- a/apps/ios/SimpleX Localizations/zh-Hans.xcloc/Localized Contents/zh-Hans.xliff
+++ b/apps/ios/SimpleX Localizations/zh-Hans.xcloc/Localized Contents/zh-Hans.xliff
@@ -6529,6 +6529,10 @@ You will be prompted to complete authentication before this feature is enabled.<
在连接时切换隐身模式。
No comment provided by engineer.
+
+ Toolbar opacity
+ No comment provided by engineer.
+
Total
No comment provided by engineer.