diff options
| author | Fuwn <[email protected]> | 2025-03-02 16:22:20 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2025-03-02 16:22:20 -0800 |
| commit | 0e56bffed20aa576b0c6cf20a1d7be728465a6dd (patch) | |
| tree | 53b9d6a48acd1b4cd0756e1668a80cdef969e33c | |
| parent | feat: Development commit (diff) | |
| download | sora-testing-0e56bffed20aa576b0c6cf20a1d7be728465a6dd.tar.xz sora-testing-0e56bffed20aa576b0c6cf20a1d7be728465a6dd.zip | |
feat: Development commit
| -rw-r--r-- | Sora/Data/GenericItem.swift | 11 | ||||
| -rw-r--r-- | Sora/Data/ItemViewModel.swift | 16 | ||||
| -rw-r--r-- | Sora/Views/Generic/GenericItemView.swift | 2 | ||||
| -rw-r--r-- | Sora/Views/Generic/GenericListView.swift | 2 | ||||
| -rw-r--r-- | Sora/Views/Post/Details/PostDetailsImageView.swift | 4 |
5 files changed, 13 insertions, 22 deletions
diff --git a/Sora/Data/GenericItem.swift b/Sora/Data/GenericItem.swift index af15e55..719ee5f 100644 --- a/Sora/Data/GenericItem.swift +++ b/Sora/Data/GenericItem.swift @@ -3,9 +3,14 @@ import Foundation protocol GenericItem { var id: UUID { get } var tags: [String] { get } - var date: Date { get } var provider: BooruProvider { get } + var date: Date { get } } -extension SettingsBookmark: GenericItem {} -extension BooruSearchQuery: GenericItem {} +extension BooruSearchQuery: GenericItem { + var date: Date { searchedAt } +} + +extension SettingsBookmark: GenericItem { + var date: Date { createdAt } +} diff --git a/Sora/Data/ItemViewModel.swift b/Sora/Data/ItemViewModel.swift deleted file mode 100644 index 4e97954..0000000 --- a/Sora/Data/ItemViewModel.swift +++ /dev/null @@ -1,16 +0,0 @@ -import Foundation - -protocol ItemViewModel { - var id: UUID { get } - var tags: [String] { get } - var provider: BooruProvider { get } - var date: Date { get } -} - -extension BooruSearchQuery: ItemViewModel { - var date: Date { searchedAt } -} - -extension SettingsBookmark: ItemViewModel { - var date: Date { createdAt } -} diff --git a/Sora/Views/Generic/GenericItemView.swift b/Sora/Views/Generic/GenericItemView.swift index ec8deaa..21c5142 100644 --- a/Sora/Views/Generic/GenericItemView.swift +++ b/Sora/Views/Generic/GenericItemView.swift @@ -1,6 +1,6 @@ import SwiftUI -struct GenericItemView<T: ItemViewModel>: View { +struct GenericItemView<T: GenericItem>: View { @EnvironmentObject var settings: SettingsManager let item: T let removeAction: (UUID) -> Void diff --git a/Sora/Views/Generic/GenericListView.swift b/Sora/Views/Generic/GenericListView.swift index 583a81f..6ac9030 100644 --- a/Sora/Views/Generic/GenericListView.swift +++ b/Sora/Views/Generic/GenericListView.swift @@ -1,6 +1,6 @@ import SwiftUI -struct GenericListView<T: Identifiable & Hashable & GenericItem & ItemViewModel>: View { +struct GenericListView<T: Identifiable & Hashable & GenericItem>: View { @EnvironmentObject private var settings: SettingsManager @EnvironmentObject private var manager: BooruManager @Binding var selectedTab: Int diff --git a/Sora/Views/Post/Details/PostDetailsImageView.swift b/Sora/Views/Post/Details/PostDetailsImageView.swift index be6e252..92e95ed 100644 --- a/Sora/Views/Post/Details/PostDetailsImageView.swift +++ b/Sora/Views/Post/Details/PostDetailsImageView.swift @@ -171,11 +171,13 @@ struct PostDetailsImageView<Placeholder: View>: View { private func saveImageToPicturesFolder() { guard let url = self.url else { return } + let provider = manager.provider + URLSession.shared.dataTask(with: url) { data, _, _ in guard let data, let post else { return } let picturesURL = FileManager.default.homeDirectoryForCurrentUser - .appendingPathComponent("Pictures/Sora/\(manager.provider.rawValue)") + .appendingPathComponent("Pictures/Sora/\(provider.rawValue)") do { try FileManager.default.createDirectory( |