summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFuwn <[email protected]>2025-03-02 16:22:20 -0800
committerFuwn <[email protected]>2025-03-02 16:22:20 -0800
commit0e56bffed20aa576b0c6cf20a1d7be728465a6dd (patch)
tree53b9d6a48acd1b4cd0756e1668a80cdef969e33c
parentfeat: Development commit (diff)
downloadsora-testing-0e56bffed20aa576b0c6cf20a1d7be728465a6dd.tar.xz
sora-testing-0e56bffed20aa576b0c6cf20a1d7be728465a6dd.zip
feat: Development commit
-rw-r--r--Sora/Data/GenericItem.swift11
-rw-r--r--Sora/Data/ItemViewModel.swift16
-rw-r--r--Sora/Views/Generic/GenericItemView.swift2
-rw-r--r--Sora/Views/Generic/GenericListView.swift2
-rw-r--r--Sora/Views/Post/Details/PostDetailsImageView.swift4
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(