diff options
| author | Fuwn <[email protected]> | 2025-02-22 11:07:36 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2025-02-22 11:07:36 -0800 |
| commit | d78a4f116100170e771ff7ad9dd6c691626ab687 (patch) | |
| tree | 978dba74562b023e47da81039d9843d24663640f | |
| parent | feat: Development commit (diff) | |
| download | sora-testing-d78a4f116100170e771ff7ad9dd6c691626ab687.tar.xz sora-testing-d78a4f116100170e771ff7ad9dd6c691626ab687.zip | |
feat: Development commit
| -rw-r--r-- | Sora/Data/Booru/BooruPost.swift | 2 | ||||
| -rw-r--r-- | Sora/Data/Booru/BooruPostXMLParser.swift | 2 | ||||
| -rw-r--r-- | Sora/Data/Booru/BooruRating.swift | 18 | ||||
| -rw-r--r-- | Sora/Views/Post/Grid/PostGridThumbnailView.swift | 2 | ||||
| -rw-r--r-- | Sora/Views/Post/Grid/PostGridView.swift | 4 |
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 } } |