diff options
| author | Fuwn <[email protected]> | 2025-07-24 18:57:23 +0200 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2025-07-24 18:57:23 +0200 |
| commit | c53127e93ea552aa2de99c522389c6e7836a7094 (patch) | |
| tree | 3aeadb25546efcfc9001fcc0dbc0ac21072b3b96 /Sora/Data/Settings | |
| parent | feat: Development commit (diff) | |
| download | sora-testing-c53127e93ea552aa2de99c522389c6e7836a7094.tar.xz sora-testing-c53127e93ea552aa2de99c522389c6e7836a7094.zip | |
feat: Development commit
Diffstat (limited to 'Sora/Data/Settings')
| -rw-r--r-- | Sora/Data/Settings/SettingsManager.swift | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/Sora/Data/Settings/SettingsManager.swift b/Sora/Data/Settings/SettingsManager.swift index 8f18ef6..44b3526 100644 --- a/Sora/Data/Settings/SettingsManager.swift +++ b/Sora/Data/Settings/SettingsManager.swift @@ -468,9 +468,11 @@ class SettingsManager: ObservableObject { // swiftlint:disable:this type_body_l let mergedBookmarks = Array(Set(localBookmarks + iCloudBookmarks)) .sorted { $0.date > $1.date } - NSUbiquitousKeyValueStore.default.set(Self.encode(mergedBookmarks), forKey: "bookmarks") + if let encoded = Self.encode(mergedBookmarks) { + NSUbiquitousKeyValueStore.default.set(encoded, forKey: "bookmarks") - bookmarksData = Self.encode(mergedBookmarks) ?? Data() + bookmarksData = encoded + } // Merge search history var iCloudHistory: [BooruSearchQuery] = [] @@ -483,9 +485,11 @@ class SettingsManager: ObservableObject { // swiftlint:disable:this type_body_l let mergedHistory = Array(Set(localHistory + iCloudHistory)) .sorted { $0.date > $1.date } - NSUbiquitousKeyValueStore.default.set(Self.encode(mergedHistory), forKey: "searchHistory") + if let encoded = Self.encode(mergedHistory) { + NSUbiquitousKeyValueStore.default.set(encoded, forKey: "searchHistory") - searchHistoryData = Self.encode(mergedHistory) ?? Data() + searchHistoryData = encoded + } // Merge custom providers var iCloudProviders: [BooruProviderCustom] = [] @@ -497,9 +501,11 @@ class SettingsManager: ObservableObject { // swiftlint:disable:this type_body_l let localProviders = Self.decode([BooruProviderCustom].self, from: customProvidersData) ?? [] let mergedProviders = Array(Set(localProviders + iCloudProviders)) - NSUbiquitousKeyValueStore.default.set(Self.encode(mergedProviders), forKey: "customProviders") + if let encoded = Self.encode(mergedProviders) { + NSUbiquitousKeyValueStore.default.set(encoded, forKey: "customProviders") - customProvidersData = Self.encode(mergedProviders) ?? Data() + customProvidersData = encoded + } loadBookmarksCache() loadSearchHistoryCache() @@ -556,9 +562,7 @@ class SettingsManager: ObservableObject { // swiftlint:disable:this type_body_l } func updateBookmarkLastVisit(withID id: UUID, date: Date = Date()) { - guard let index = bookmarks.firstIndex(of: bookmarks.first(where: { $0.id == id })!) else { - return - } + guard let index = bookmarks.firstIndex(where: { $0.id == id }) else { return } bookmarks[index].lastVisit = date @@ -568,9 +572,7 @@ class SettingsManager: ObservableObject { // swiftlint:disable:this type_body_l } func incrementBookmarkVisitCount(withID id: UUID) { - guard let index = bookmarks.firstIndex(of: bookmarks.first(where: { $0.id == id })!) else { - return - } + guard let index = bookmarks.firstIndex(where: { $0.id == id }) else { return } bookmarks[index].visitedCount += 1 |