summaryrefslogtreecommitdiff
path: root/Sora/Data/Settings
diff options
context:
space:
mode:
authorFuwn <[email protected]>2025-07-24 18:57:23 +0200
committerFuwn <[email protected]>2025-07-24 18:57:23 +0200
commitc53127e93ea552aa2de99c522389c6e7836a7094 (patch)
tree3aeadb25546efcfc9001fcc0dbc0ac21072b3b96 /Sora/Data/Settings
parentfeat: Development commit (diff)
downloadsora-testing-c53127e93ea552aa2de99c522389c6e7836a7094.tar.xz
sora-testing-c53127e93ea552aa2de99c522389c6e7836a7094.zip
feat: Development commit
Diffstat (limited to 'Sora/Data/Settings')
-rw-r--r--Sora/Data/Settings/SettingsManager.swift26
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