diff options
Diffstat (limited to 'Sora/Data')
| -rw-r--r-- | Sora/Data/GenericItem.swift | 4 | ||||
| -rw-r--r-- | Sora/Data/Settings/SettingsBookmark.swift | 4 | ||||
| -rw-r--r-- | Sora/Data/Settings/SettingsManager.swift | 9 |
3 files changed, 12 insertions, 5 deletions
diff --git a/Sora/Data/GenericItem.swift b/Sora/Data/GenericItem.swift index cc718ca..6b06d02 100644 --- a/Sora/Data/GenericItem.swift +++ b/Sora/Data/GenericItem.swift @@ -5,12 +5,12 @@ protocol GenericItem { var tags: [String] { get } var provider: BooruProvider { get } var date: Date { get } - var folder: SettingsFolder? { get } + var folder: UUID? { get } } extension BooruSearchQuery: GenericItem { var date: Date { searchedAt } - var folder: SettingsFolder? { nil } + var folder: UUID? { nil } } extension SettingsBookmark: GenericItem { 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 |