summaryrefslogtreecommitdiff
path: root/Sora/Data
diff options
context:
space:
mode:
Diffstat (limited to 'Sora/Data')
-rw-r--r--Sora/Data/GenericItem.swift4
-rw-r--r--Sora/Data/Settings/SettingsBookmark.swift4
-rw-r--r--Sora/Data/Settings/SettingsManager.swift9
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