summaryrefslogtreecommitdiff
path: root/Sora/Data/Settings/SettingsManager.swift
diff options
context:
space:
mode:
authorFuwn <[email protected]>2025-03-05 03:53:34 -0800
committerFuwn <[email protected]>2025-03-05 03:53:34 -0800
commitd10f51d93e35c11f883df536b13b7bb6382d463c (patch)
tree59b786a352ad3adb16a61ca1d858e5e75807db90 /Sora/Data/Settings/SettingsManager.swift
parentfeat: Development commit (diff)
downloadsora-testing-d10f51d93e35c11f883df536b13b7bb6382d463c.tar.xz
sora-testing-d10f51d93e35c11f883df536b13b7bb6382d463c.zip
feat: Development commit
Diffstat (limited to 'Sora/Data/Settings/SettingsManager.swift')
-rw-r--r--Sora/Data/Settings/SettingsManager.swift22
1 files changed, 19 insertions, 3 deletions
diff --git a/Sora/Data/Settings/SettingsManager.swift b/Sora/Data/Settings/SettingsManager.swift
index f4273ef..984ffbe 100644
--- a/Sora/Data/Settings/SettingsManager.swift
+++ b/Sora/Data/Settings/SettingsManager.swift
@@ -14,9 +14,6 @@ class SettingsManager: ObservableObject {
@AppStorage("thumbnailGridColumns")
var thumbnailGridColumns = 2
- @AppStorage("preferredBooru")
- var preferredBooruData = Data()
-
@AppStorage("enableShareShortcut")
var enableShareShortcut = false
@@ -44,6 +41,12 @@ class SettingsManager: ObservableObject {
@AppStorage("searchHistory")
private var searchHistoryData = Data()
+ @AppStorage("preferredBooru")
+ private var preferredBooruData = Data()
+
+ @AppStorage("customProviders")
+ private var customProvidersData = Data()
+
// MARK: - Computed Properties
var bookmarks: [SettingsBookmark] {
get {
@@ -85,6 +88,19 @@ class SettingsManager: ObservableObject {
set { preferredBooruData = Self.encode(newValue) ?? preferredBooruData }
}
+ var customProviders: [BooruProviderCustom] {
+ get {
+ Self.decode(
+ [BooruProviderCustom].self,
+ from: customProvidersData
+ ) ?? []
+ }
+
+ set {
+ customProvidersData = Self.encode(newValue) ?? customProvidersData
+ }
+ }
+
// MARK: - Private Helpers
private static func encode<T: Encodable>(_ value: T) -> Data? {
try? JSONEncoder().encode(value)