diff options
Diffstat (limited to 'Sora/Data/Settings')
| -rw-r--r-- | Sora/Data/Settings/SettingsManager.swift | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/Sora/Data/Settings/SettingsManager.swift b/Sora/Data/Settings/SettingsManager.swift index 0ad3973..f4273ef 100644 --- a/Sora/Data/Settings/SettingsManager.swift +++ b/Sora/Data/Settings/SettingsManager.swift @@ -15,7 +15,7 @@ class SettingsManager: ObservableObject { var thumbnailGridColumns = 2 @AppStorage("preferredBooru") - var preferredBooru: BooruProvider = .safebooru + var preferredBooruData = Data() @AppStorage("enableShareShortcut") var enableShareShortcut = false @@ -77,6 +77,14 @@ class SettingsManager: ObservableObject { set { searchHistoryData = Self.encode(newValue) ?? searchHistoryData } } + var preferredBooru: BooruProvider { + get { + Self.decode(BooruProvider.self, from: preferredBooruData) ?? .safebooru + } + + set { preferredBooruData = Self.encode(newValue) ?? preferredBooruData } + } + // MARK: - Private Helpers private static func encode<T: Encodable>(_ value: T) -> Data? { try? JSONEncoder().encode(value) |