summaryrefslogtreecommitdiff
path: root/Sora
diff options
context:
space:
mode:
Diffstat (limited to 'Sora')
-rw-r--r--Sora/Data/Booru/Booru.swift4
-rw-r--r--Sora/Data/Booru/BooruManager.swift16
-rw-r--r--Sora/Data/Booru/BooruProvider.swift4
-rw-r--r--Sora/Data/Settings/Settings.swift2
-rw-r--r--Sora/Views/BookmarksView.swift2
-rw-r--r--Sora/Views/MainView.swift10
-rw-r--r--Sora/Views/Settings/SettingsSourceView.swift2
7 files changed, 20 insertions, 20 deletions
diff --git a/Sora/Data/Booru/Booru.swift b/Sora/Data/Booru/Booru.swift
deleted file mode 100644
index 8dce279..0000000
--- a/Sora/Data/Booru/Booru.swift
+++ /dev/null
@@ -1,4 +0,0 @@
-enum Booru: String, CaseIterable {
- case yandere
- case safebooru
-}
diff --git a/Sora/Data/Booru/BooruManager.swift b/Sora/Data/Booru/BooruManager.swift
index 5eb6f70..1beb795 100644
--- a/Sora/Data/Booru/BooruManager.swift
+++ b/Sora/Data/Booru/BooruManager.swift
@@ -12,7 +12,7 @@ class BooruManager: ObservableObject {
@Published var selectedPost: BooruPost?
#endif
private var currentTask: Task<Void, Never>?
- private let booru: Booru?
+ private let booruProvider: BooruProvider?
var tags: [String] {
if searchText.isEmpty {
return []
@@ -24,15 +24,15 @@ class BooruManager: ObservableObject {
.filter { !$0.isEmpty }
}
- init(booru: Booru? = nil) {
- self.booru = booru
+ init(_ provider: BooruProvider? = nil) {
+ self.booruProvider = provider
fetchAllTags()
}
func fetchPosts(page: Int = 1, limit: Int = 100, tags: [String] = [], replace: Bool = false) async {
guard !isLoading else { return }
- guard booru != nil else { return }
+ guard booruProvider != nil else { return }
currentTask?.cancel()
@@ -46,7 +46,7 @@ class BooruManager: ObservableObject {
self.currentPage = 1
}
- guard let url = urlForPosts(page: self.booru == .safebooru ? page - 1 : page, limit: limit, tags: tags) else {
+ guard let url = urlForPosts(page: self.booruProvider == .safebooru ? page - 1 : page, limit: limit, tags: tags) else {
return
}
@@ -93,7 +93,7 @@ class BooruManager: ObservableObject {
}
func fetchAllTags(limit: Int = 100_000) {
- guard booru != nil else { return }
+ guard booruProvider != nil else { return }
Task {
guard let url = urlForTags(limit: limit) else { return }
@@ -119,7 +119,7 @@ class BooruManager: ObservableObject {
private func urlForPosts(page: Int, limit: Int, tags: [String]) -> URL? {
let tagString = tags.joined(separator: "+")
- switch booru {
+ switch booruProvider {
case .yandere:
return URL(string: "https://yande.re/post.xml?page=\(page)&limit=\(limit)&tags=\(tagString)")
case .safebooru:
@@ -130,7 +130,7 @@ class BooruManager: ObservableObject {
}
private func urlForTags(limit: Int) -> URL? {
- switch booru {
+ switch booruProvider {
case .yandere:
return URL(string: "https://yande.re/tag.xml?limit=\(limit)")
case .safebooru:
diff --git a/Sora/Data/Booru/BooruProvider.swift b/Sora/Data/Booru/BooruProvider.swift
new file mode 100644
index 0000000..18cfd64
--- /dev/null
+++ b/Sora/Data/Booru/BooruProvider.swift
@@ -0,0 +1,4 @@
+enum BooruProvider: String, CaseIterable {
+ case yandere
+ case safebooru
+}
diff --git a/Sora/Data/Settings/Settings.swift b/Sora/Data/Settings/Settings.swift
index 2d76e9a..e8d1510 100644
--- a/Sora/Data/Settings/Settings.swift
+++ b/Sora/Data/Settings/Settings.swift
@@ -12,7 +12,7 @@ class Settings: ObservableObject {
@AppStorage("blurNSFWThumbnails") var blurNSFWThumbnails: Bool = true
@AppStorage("showNSFWPosts") var showNSFWPosts: Bool = false
@AppStorage("bookmarks") private var bookmarksData: Data = .init()
- @AppStorage("preferredBooru") var preferredBooru: Booru = .yandere
+ @AppStorage("preferredBooru") var preferredBooru: BooruProvider = .yandere
var bookmarks: [Bookmark] {
get {
diff --git a/Sora/Views/BookmarksView.swift b/Sora/Views/BookmarksView.swift
index cafb431..d1c5776 100644
--- a/Sora/Views/BookmarksView.swift
+++ b/Sora/Views/BookmarksView.swift
@@ -59,5 +59,5 @@ struct BookmarksView: View {
#Preview {
BookmarksView(selectedTab: .constant(1))
.environmentObject(Settings())
- .environmentObject(MoebooruManager())
+ .environmentObject(BooruManager(.yandere))
}
diff --git a/Sora/Views/MainView.swift b/Sora/Views/MainView.swift
index af56e06..949e024 100644
--- a/Sora/Views/MainView.swift
+++ b/Sora/Views/MainView.swift
@@ -3,7 +3,7 @@ import SwiftUI
struct MainView: View {
@EnvironmentObject var settings: Settings
@State private var selectedTab: Int = 0
- @State private var manager = BooruManager(booru: .yandere)
+ @State private var manager = BooruManager(.yandere)
var body: some View {
#if os(macOS)
@@ -11,14 +11,14 @@ struct MainView: View {
.environmentObject(settings)
.environmentObject(manager)
.onChange(of: settings.preferredBooru) { _, newState in
- self.manager = BooruManager(booru: newState)
+ self.manager = BooruManager(newState)
Task {
await self.manager.fetchPosts()
}
}
.onAppear {
- self.manager = BooruManager(booru: self.settings.preferredBooru)
+ self.manager = BooruManager(self.settings.preferredBooru)
Task {
if manager.posts.isEmpty {
@@ -54,14 +54,14 @@ struct MainView: View {
}
.environmentObject(settings)
.onChange(of: settings.preferredBooru) { _, newState in
- self.manager = BooruManager(booru: newState)
+ self.manager = BooruManager(newState)
Task {
await self.manager.fetchPosts()
}
}
.onAppear {
- self.manager = BooruManager(booru: self.settings.preferredBooru)
+ self.manager = BooruManager(self.settings.preferredBooru)
Task {
if manager.posts.isEmpty {
diff --git a/Sora/Views/Settings/SettingsSourceView.swift b/Sora/Views/Settings/SettingsSourceView.swift
index 8663290..d1f8f30 100644
--- a/Sora/Views/Settings/SettingsSourceView.swift
+++ b/Sora/Views/Settings/SettingsSourceView.swift
@@ -5,7 +5,7 @@ struct SettingsSourceView: View {
var body: some View {
Picker("Booru", selection: $settings.preferredBooru) {
- ForEach(Booru.allCases, id: \.self) { type in
+ ForEach(BooruProvider.allCases, id: \.self) { type in
Text(type.rawValue.capitalized).tag(type)
}
}