diff options
| author | Fuwn <[email protected]> | 2025-02-26 21:12:05 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2025-02-26 21:12:05 -0800 |
| commit | 0bfca77163ee472883c848292ce0b0afed26043a (patch) | |
| tree | 0d8c1167231d84e5fdf1798ca9f7b8461469a9fc /Sora/Data | |
| parent | feat: Development commit (diff) | |
| download | sora-testing-0bfca77163ee472883c848292ce0b0afed26043a.tar.xz sora-testing-0bfca77163ee472883c848292ce0b0afed26043a.zip | |
feat: Development commit
Diffstat (limited to 'Sora/Data')
| -rw-r--r-- | Sora/Data/Booru/BooruManager.swift | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/Sora/Data/Booru/BooruManager.swift b/Sora/Data/Booru/BooruManager.swift index b3cd6c7..a72df6c 100644 --- a/Sora/Data/Booru/BooruManager.swift +++ b/Sora/Data/Booru/BooruManager.swift @@ -12,6 +12,7 @@ class BooruManager: ObservableObject { @Published var selectedPost: BooruPost? @Published var flavor: BooruProviderFlavor @Published var domain: String + @Published var postIndexMap: [String: Int] = [:] private var currentTask: Task<Void, Never>? let provider: BooruProvider var tags: [String] { @@ -103,6 +104,12 @@ class BooruManager: ObservableObject { self.endOfData = true } else { self.posts += Array(Set(newPosts)) + + self.postIndexMap.merge( + zip(newPosts.indices, newPosts.map(\.id)).reduce(into: [:]) { result, element in + result[element.1] = element.0 + } + ) { _, new in new } } } } catch { |