Convert Privacy settings to macOS-native helpers

This commit is contained in:
Arkadiusz Fal
2026-04-20 23:43:19 +02:00
parent c27fb3be34
commit 60be0f8b53

View File

@@ -14,7 +14,7 @@ struct PrivacySettingsView: View {
private let searchHistoryLimitOptions: [Int] = [10, 15, 25, 50, 100] private let searchHistoryLimitOptions: [Int] = [10, 15, 25, 50, 100]
var body: some View { var body: some View {
List { SettingsFormContainer {
incognitoSection incognitoSection
historySection historySection
searchSection searchSection
@@ -32,15 +32,21 @@ struct PrivacySettingsView: View {
@ViewBuilder @ViewBuilder
private var incognitoSection: some View { private var incognitoSection: some View {
if let settingsManager = appEnvironment?.settingsManager { if let settingsManager = appEnvironment?.settingsManager {
Section { SettingsFormSection(footer: "settings.privacy.incognito.footer") {
Toggle(isOn: Bindable(settingsManager).incognitoModeEnabled) { Toggle(isOn: Bindable(settingsManager).incognitoModeEnabled) {
Label( Label {
String(localized: "settings.behavior.incognitoMode"), Text(String(localized: "settings.behavior.incognitoMode"))
image: "incognito" } icon: {
) #if os(macOS)
Image("incognito")
.resizable()
.scaledToFit()
.frame(width: 16, height: 16)
#else
Image("incognito")
#endif
}
} }
} footer: {
Text(String(localized: "settings.privacy.incognito.footer"))
} }
} }
} }
@@ -48,7 +54,7 @@ struct PrivacySettingsView: View {
@ViewBuilder @ViewBuilder
private var historySection: some View { private var historySection: some View {
if let settingsManager = appEnvironment?.settingsManager { if let settingsManager = appEnvironment?.settingsManager {
Section { SettingsFormSection("settings.behavior.historyRetention.header", footer: "settings.behavior.historyRetention.footer") {
Toggle( Toggle(
String(localized: "settings.privacy.saveWatchHistory"), String(localized: "settings.privacy.saveWatchHistory"),
isOn: Bindable(settingsManager).saveWatchHistory isOn: Bindable(settingsManager).saveWatchHistory
@@ -66,10 +72,6 @@ struct PrivacySettingsView: View {
.tag(days) .tag(days)
} }
} }
} header: {
Text(String(localized: "settings.behavior.historyRetention.header"))
} footer: {
Text(String(localized: "settings.behavior.historyRetention.footer"))
} }
} }
} }
@@ -88,7 +90,7 @@ struct PrivacySettingsView: View {
@ViewBuilder @ViewBuilder
private var searchSection: some View { private var searchSection: some View {
if let settingsManager = appEnvironment?.settingsManager { if let settingsManager = appEnvironment?.settingsManager {
Section { SettingsFormSection("settings.behavior.searchHistoryLimit.header", footer: "settings.behavior.searchHistoryLimit.footer") {
Toggle( Toggle(
String(localized: "settings.privacy.saveRecentSearches"), String(localized: "settings.privacy.saveRecentSearches"),
isOn: Bindable(settingsManager).saveRecentSearches isOn: Bindable(settingsManager).saveRecentSearches
@@ -116,10 +118,6 @@ struct PrivacySettingsView: View {
.tag(limit) .tag(limit)
} }
} }
} header: {
Text(String(localized: "settings.behavior.searchHistoryLimit.header"))
} footer: {
Text(String(localized: "settings.behavior.searchHistoryLimit.footer"))
} }
} }
} }