mirror of
https://github.com/yattee/yattee.git
synced 2026-05-12 18:35:05 +00:00
Convert Privacy settings to macOS-native helpers
This commit is contained in:
@@ -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"))
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user