diff options
Diffstat (limited to 'Sora/Data/Settings')
| -rw-r--r-- | Sora/Data/Settings/SettingsBookmark.swift | 4 | ||||
| -rw-r--r-- | Sora/Data/Settings/SettingsManager.swift | 9 |
2 files changed, 10 insertions, 3 deletions
diff --git a/Sora/Data/Settings/SettingsBookmark.swift b/Sora/Data/Settings/SettingsBookmark.swift index 43af79d..34b87f4 100644 --- a/Sora/Data/Settings/SettingsBookmark.swift +++ b/Sora/Data/Settings/SettingsBookmark.swift @@ -5,9 +5,9 @@ struct SettingsBookmark: Codable, Identifiable, Hashable { let tags: [String] let createdAt: Date let provider: BooruProvider - var folder: SettingsFolder? + var folder: UUID? - init(provider: BooruProvider, tags: [String], folder: SettingsFolder? = nil, id: UUID = UUID()) { + init(provider: BooruProvider, tags: [String], folder: UUID? = nil, id: UUID = UUID()) { createdAt = Date() self.id = id self.tags = tags diff --git a/Sora/Data/Settings/SettingsManager.swift b/Sora/Data/Settings/SettingsManager.swift index b35ca64..bc7dc8a 100644 --- a/Sora/Data/Settings/SettingsManager.swift +++ b/Sora/Data/Settings/SettingsManager.swift @@ -239,6 +239,7 @@ class SettingsManager: ObservableObject { // swiftlint:disable:this type_body_l let sortedMergedValues = sort(mergedValues) NSUbiquitousKeyValueStore.default.set(Self.encode(sortedMergedValues), forKey: key) + NSUbiquitousKeyValueStore.default.synchronize() } } @@ -384,10 +385,16 @@ class SettingsManager: ObservableObject { // swiftlint:disable:this type_body_l bookmarks.append(contentsOf: newBookmarks) } - func updateBookmarkFolder(withID id: UUID, folder: SettingsFolder?) { + func updateBookmarkFolder(withID id: UUID, folder: UUID?) { guard let index = bookmarks.firstIndex(where: { $0.id == id }) else { return } bookmarks[index].folder = folder + + self.syncToCloud() + } + + func folderName(forID id: UUID) -> String? { + folders.first { $0.id == id }?.name } // MARK: - Search History Management |