diff options
| author | Fuwn <[email protected]> | 2025-02-22 00:14:29 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2025-02-22 00:14:29 -0800 |
| commit | ab410956419067fd1e751f82a8f4e25bd1d6d091 (patch) | |
| tree | a77bb1b10b6eaabd8b61c8144df7b68d2094dc08 | |
| parent | feat: Development commit (diff) | |
| download | sora-testing-ab410956419067fd1e751f82a8f4e25bd1d6d091.tar.xz sora-testing-ab410956419067fd1e751f82a8f4e25bd1d6d091.zip | |
feat: Development commit
| -rw-r--r-- | .swiftlint.yml | 30 | ||||
| -rw-r--r-- | Sora/Data/Booru/BooruManager.swift | 4 | ||||
| -rw-r--r-- | Sora/Data/Booru/BooruProvider.swift | 1 | ||||
| -rw-r--r-- | Sora/Views/Post/PostDetailsView.swift | 6 | ||||
| -rw-r--r-- | Sora/Views/Post/PostGridBookmarkButtonView.swift | 4 | ||||
| -rw-r--r-- | Sora/Views/Post/PostGridView.swift | 2 | ||||
| -rw-r--r-- | Sora/Views/Post/PostView.swift | 2 |
7 files changed, 45 insertions, 4 deletions
diff --git a/.swiftlint.yml b/.swiftlint.yml index 30894ea..12c261f 100644 --- a/.swiftlint.yml +++ b/.swiftlint.yml @@ -1,3 +1,33 @@ opt_in_rules: - all +disabled_rules: + - accessibility_label_for_image + - anonymous_argument_in_multiline_closure + - attributes + - closure_body_length + - closure_end_indentation + - conditional_returns_on_newline + - contrasted_opening_brace + - explicit_acl + - explicit_enum_raw_value + - explicit_top_level_acl + - explicit_type_interface + - file_name + - force_unwrapping + - function_body_length + - function_default_parameter_at_end + - identifier_name + - indentation_width + - let_var_whitespace + - multiline_arguments_brackets + - multiline_function_chains + - multiline_parameters + - multiple_closures_with_trailing_closure + - no_magic_numbers + - one_declaration_per_file + - opening_brace + - required_deinit + - sorted_enum_cases + - trailing_comma + - type_contents_order diff --git a/Sora/Data/Booru/BooruManager.swift b/Sora/Data/Booru/BooruManager.swift index f86e3a9..06a714e 100644 --- a/Sora/Data/Booru/BooruManager.swift +++ b/Sora/Data/Booru/BooruManager.swift @@ -129,11 +129,13 @@ class BooruManager: ObservableObject { switch provider { case .yandere: return URL(string: "https://yande.re/post.xml?page=\(page)&limit=\(limit)&tags=\(tagString)") + case .safebooru: return URL( string: "https://safebooru.org/index.php?page=dapi&s=post&q=index&pid=\(page)&limit=\(limit)&tags=\(tagString)" ) + default: return nil } @@ -143,8 +145,10 @@ class BooruManager: ObservableObject { switch provider { case .yandere: URL(string: "https://yande.re/tag.xml?limit=\(limit)") + case .safebooru: URL(string: "https://safebooru.org/index.php?page=dapi&s=tag&q=index&limit=\(limit)") + default: nil } diff --git a/Sora/Data/Booru/BooruProvider.swift b/Sora/Data/Booru/BooruProvider.swift index 994e4e3..4de543b 100644 --- a/Sora/Data/Booru/BooruProvider.swift +++ b/Sora/Data/Booru/BooruProvider.swift @@ -6,6 +6,7 @@ enum BooruProvider: String, CaseIterable, Decodable, Encodable { switch self { case .yandere: "yande.re" + case .safebooru: "Safebooru" } diff --git a/Sora/Views/Post/PostDetailsView.swift b/Sora/Views/Post/PostDetailsView.swift index 133fa34..f61b82a 100644 --- a/Sora/Views/Post/PostDetailsView.swift +++ b/Sora/Views/Post/PostDetailsView.swift @@ -3,13 +3,15 @@ import SwiftUI struct PostDetailsView: View { @EnvironmentObject var settings: Settings let post: BooruPost - @State var loadingStage: PostLoadingState = .loadingPreview + @State private var loadingStage: PostLoadingState = .loadingPreview private var imageURL: URL? { switch settings.detailViewType { case .preview: post.previewURL + case .sample: post.sampleURL + case .original: post.fileURL } @@ -51,8 +53,10 @@ struct PostDetailsView: View { switch loadingStage { case .loadingPreview: Text("Loading preview …") + case .loadingFile: Text("Loading \(settings.detailViewType.rawValue) …") + case .loaded: EmptyView() } diff --git a/Sora/Views/Post/PostGridBookmarkButtonView.swift b/Sora/Views/Post/PostGridBookmarkButtonView.swift index f23482f..a25b24f 100644 --- a/Sora/Views/Post/PostGridBookmarkButtonView.swift +++ b/Sora/Views/Post/PostGridBookmarkButtonView.swift @@ -6,10 +6,10 @@ struct PostGridBookmarkButtonView: View { var contained: Bool { settings.bookmarks - .contains(where: { + .contains { $0.tags == manager.tags.map { $0.lowercased() } && $0.provider == manager.provider ?? settings.preferredBooru - }) + } } var body: some View { diff --git a/Sora/Views/Post/PostGridView.swift b/Sora/Views/Post/PostGridView.swift index 842d0a6..ab2340f 100644 --- a/Sora/Views/Post/PostGridView.swift +++ b/Sora/Views/Post/PostGridView.swift @@ -9,7 +9,7 @@ struct PostGridView: View { var filteredPosts: [BooruPost] { (settings.showNSFWPosts ? manager.posts : manager.posts.filter { $0.rating == "s" || $0.rating == "q" }) - .sorted(by: { $0.id > $1.id }) + .sorted { $0.id > $1.id } } var body: some View { diff --git a/Sora/Views/Post/PostView.swift b/Sora/Views/Post/PostView.swift index 9b92f4f..6b54a85 100644 --- a/Sora/Views/Post/PostView.swift +++ b/Sora/Views/Post/PostView.swift @@ -9,8 +9,10 @@ struct PostView: View { switch settings.thumbnailType { case .preview: post.previewURL + case .sample: post.sampleURL + case .original: post.fileURL } |