summaryrefslogtreecommitdiff
path: root/Sora/Data/Settings
diff options
context:
space:
mode:
authorFuwn <[email protected]>2025-03-03 03:15:53 -0800
committerFuwn <[email protected]>2025-03-03 03:15:53 -0800
commit682147c550ae1d6512b2fc5984993f395ff44e06 (patch)
tree90b4b0fd868fb8f6cb472deee28c8c21f19e747a /Sora/Data/Settings
parentfeat: Development commit (diff)
downloadsora-testing-682147c550ae1d6512b2fc5984993f395ff44e06.tar.xz
sora-testing-682147c550ae1d6512b2fc5984993f395ff44e06.zip
feat: Development commit
Diffstat (limited to 'Sora/Data/Settings')
-rw-r--r--Sora/Data/Settings/SettingsManager.swift8
1 files changed, 8 insertions, 0 deletions
diff --git a/Sora/Data/Settings/SettingsManager.swift b/Sora/Data/Settings/SettingsManager.swift
index 7d38d0f..0ad3973 100644
--- a/Sora/Data/Settings/SettingsManager.swift
+++ b/Sora/Data/Settings/SettingsManager.swift
@@ -129,6 +129,14 @@ class SettingsManager: ObservableObject {
try JSONEncoder().encode(bookmarks)
}
+ func importBookmarks(from data: Data) throws {
+ let importedBookmarks = try JSONDecoder().decode([SettingsBookmark].self, from: data)
+ let existingIDs = Set(bookmarks.map(\.id))
+ let newBookmarks = importedBookmarks.filter { !existingIDs.contains($0.id) }
+
+ bookmarks.append(contentsOf: newBookmarks)
+ }
+
// MARK: - Search History Management
func removeSearchHistoryEntry(at offsets: IndexSet) {
searchHistory.remove(atOffsets: offsets)