summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFuwn <[email protected]>2025-02-22 11:07:36 -0800
committerFuwn <[email protected]>2025-02-22 11:07:36 -0800
commitd78a4f116100170e771ff7ad9dd6c691626ab687 (patch)
tree978dba74562b023e47da81039d9843d24663640f
parentfeat: Development commit (diff)
downloadsora-testing-d78a4f116100170e771ff7ad9dd6c691626ab687.tar.xz
sora-testing-d78a4f116100170e771ff7ad9dd6c691626ab687.zip
feat: Development commit
-rw-r--r--Sora/Data/Booru/BooruPost.swift2
-rw-r--r--Sora/Data/Booru/BooruPostXMLParser.swift2
-rw-r--r--Sora/Data/Booru/BooruRating.swift18
-rw-r--r--Sora/Views/Post/Grid/PostGridThumbnailView.swift2
-rw-r--r--Sora/Views/Post/Grid/PostGridView.swift4
5 files changed, 24 insertions, 4 deletions
diff --git a/Sora/Data/Booru/BooruPost.swift b/Sora/Data/Booru/BooruPost.swift
index 7f995a3..e2e043e 100644
--- a/Sora/Data/Booru/BooruPost.swift
+++ b/Sora/Data/Booru/BooruPost.swift
@@ -10,7 +10,7 @@ struct BooruPost: Identifiable, Hashable {
let sampleWidth: Int
let sampleHeight: Int
let previewURL: URL
- let rating: String
+ let rating: BooruRating
let tags: [String]
let width: Int
let change: String
diff --git a/Sora/Data/Booru/BooruPostXMLParser.swift b/Sora/Data/Booru/BooruPostXMLParser.swift
index 3bce127..d316177 100644
--- a/Sora/Data/Booru/BooruPostXMLParser.swift
+++ b/Sora/Data/Booru/BooruPostXMLParser.swift
@@ -68,7 +68,7 @@ class BooruPostXMLParser: NSObject, XMLParserDelegate {
sampleWidth: sampleWidth,
sampleHeight: sampleHeight,
previewURL: URL(string: previewUrl)!,
- rating: rating,
+ rating: BooruRating(rating),
tags: tags.components(separatedBy: " ").filter { !$0.isEmpty },
width: width,
change: change,
diff --git a/Sora/Data/Booru/BooruRating.swift b/Sora/Data/Booru/BooruRating.swift
new file mode 100644
index 0000000..8327868
--- /dev/null
+++ b/Sora/Data/Booru/BooruRating.swift
@@ -0,0 +1,18 @@
+enum BooruRating {
+ case explicit
+ case questionable
+ case safe
+
+ init(_ string: String) {
+ switch string {
+ case "e":
+ self = .explicit
+
+ case "s":
+ self = .safe
+
+ default:
+ self = .questionable
+ }
+ }
+}
diff --git a/Sora/Views/Post/Grid/PostGridThumbnailView.swift b/Sora/Views/Post/Grid/PostGridThumbnailView.swift
index e90b39b..8816f67 100644
--- a/Sora/Views/Post/Grid/PostGridThumbnailView.swift
+++ b/Sora/Views/Post/Grid/PostGridThumbnailView.swift
@@ -33,7 +33,7 @@ struct PostGridThumbnailView: View {
}
.blur(
radius: settings.blurNSFWThumbnails
- ? (post.rating != "s" && post.rating != "q") ? 10 : 0 : 0
+ ? (post.rating != .safe && post.rating != .questionable) ? 10 : 0 : 0
)
.clipped()
.animation(.default, value: settings.blurNSFWThumbnails)
diff --git a/Sora/Views/Post/Grid/PostGridView.swift b/Sora/Views/Post/Grid/PostGridView.swift
index 9738a15..faed038 100644
--- a/Sora/Views/Post/Grid/PostGridView.swift
+++ b/Sora/Views/Post/Grid/PostGridView.swift
@@ -10,7 +10,9 @@ struct PostGridView: View {
var filteredPosts: [BooruPost] {
(settings.showNSFWPosts
- ? manager.posts : manager.posts.filter { $0.rating == "s" || $0.rating == "q" })
+ ? manager.posts
+ : manager.posts
+ .filter { $0.rating == .safe || $0.rating == .questionable })
.sorted { $0.id > $1.id }
}