diff options
| author | Fuwn <[email protected]> | 2025-03-03 03:15:53 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2025-03-03 03:15:53 -0800 |
| commit | 682147c550ae1d6512b2fc5984993f395ff44e06 (patch) | |
| tree | 90b4b0fd868fb8f6cb472deee28c8c21f19e747a /Sora/Data/Settings | |
| parent | feat: Development commit (diff) | |
| download | sora-testing-682147c550ae1d6512b2fc5984993f395ff44e06.tar.xz sora-testing-682147c550ae1d6512b2fc5984993f395ff44e06.zip | |
feat: Development commit
Diffstat (limited to 'Sora/Data/Settings')
| -rw-r--r-- | Sora/Data/Settings/SettingsManager.swift | 8 |
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) |