diff options
Diffstat (limited to 'Sora/Data')
| -rw-r--r-- | Sora/Data/Booru/BooruManager.swift | 4 | ||||
| -rw-r--r-- | Sora/Data/Booru/BooruPostFileType.swift | 6 | ||||
| -rw-r--r-- | Sora/Data/Booru/BooruPostXMLParser.swift | 7 | ||||
| -rw-r--r-- | Sora/Data/Booru/BooruProvider.swift | 14 | ||||
| -rw-r--r-- | Sora/Data/Settings/Settings.swift | 33 |
5 files changed, 35 insertions, 29 deletions
diff --git a/Sora/Data/Booru/BooruManager.swift b/Sora/Data/Booru/BooruManager.swift index c4e9016..d650593 100644 --- a/Sora/Data/Booru/BooruManager.swift +++ b/Sora/Data/Booru/BooruManager.swift @@ -155,4 +155,8 @@ class BooruManager: ObservableObject { nil } } + + deinit { + currentTask?.cancel() + } } diff --git a/Sora/Data/Booru/BooruPostFileType.swift b/Sora/Data/Booru/BooruPostFileType.swift index 62900db..f1f98b7 100644 --- a/Sora/Data/Booru/BooruPostFileType.swift +++ b/Sora/Data/Booru/BooruPostFileType.swift @@ -1,5 +1,5 @@ enum BooruPostFileType: String, CaseIterable { - case original - case sample - case preview + case original = "Original" + case preview = "Preview" + case sample = "Sample" } diff --git a/Sora/Data/Booru/BooruPostXMLParser.swift b/Sora/Data/Booru/BooruPostXMLParser.swift index 5149e05..3bce127 100644 --- a/Sora/Data/Booru/BooruPostXMLParser.swift +++ b/Sora/Data/Booru/BooruPostXMLParser.swift @@ -58,9 +58,6 @@ class BooruPostXMLParser: NSObject, XMLParserDelegate { return } - let hasNotesStr = attributeDict["has_notes"] ?? "false" - let hasCommentsStr = attributeDict["has_comments"] ?? "false" - currentPost = BooruPost( id: id, height: height, @@ -81,8 +78,8 @@ class BooruPostXMLParser: NSObject, XMLParserDelegate { createdAt: parseCreatedAt(createdAt)!, status: status, source: source, - hasNotes: hasNotesStr == "true", - hasComments: hasCommentsStr == "true", + hasNotes: (attributeDict["has_notes"] ?? "false") == "true", + hasComments: (attributeDict["has_comments"] ?? "false") == "true", previewWidth: previewWidth, previewHeight: previewHeight ) diff --git a/Sora/Data/Booru/BooruProvider.swift b/Sora/Data/Booru/BooruProvider.swift index 4de543b..19e5234 100644 --- a/Sora/Data/Booru/BooruProvider.swift +++ b/Sora/Data/Booru/BooruProvider.swift @@ -1,14 +1,4 @@ enum BooruProvider: String, CaseIterable, Decodable, Encodable { - case yandere - case safebooru - - func formatted() -> String { - switch self { - case .yandere: - "yande.re" - - case .safebooru: - "Safebooru" - } - } + case safebooru = "Safebooru" + case yandere = "yande.re" } diff --git a/Sora/Data/Settings/Settings.swift b/Sora/Data/Settings/Settings.swift index ec0fadf..c34b6ba 100644 --- a/Sora/Data/Settings/Settings.swift +++ b/Sora/Data/Settings/Settings.swift @@ -2,18 +2,33 @@ import SwiftUI class Settings: ObservableObject { #if DEBUG - @AppStorage("detailViewType") var detailViewType: BooruPostFileType = .sample + @AppStorage("detailViewType") + var detailViewType: BooruPostFileType = .sample #else - @AppStorage("detailViewType") var detailViewType: BooruPostFileType = .original + @AppStorage("detailViewType") + var detailViewType: BooruPostFileType = .original #endif - @AppStorage("thumbnailType") var thumbnailType: BooruPostFileType = .preview - @AppStorage("searchSuggestions") var searchSuggestions: Bool = false - @AppStorage("columns") var columns: Int = 2 - @AppStorage("blurNSFWThumbnails") var blurNSFWThumbnails: Bool = true - @AppStorage("showNSFWPosts") var showNSFWPosts: Bool = false - @AppStorage("bookmarks") private var bookmarksData: Data = .init() - @AppStorage("preferredBooru") var preferredBooru: BooruProvider = .yandere + @AppStorage("thumbnailType") + var thumbnailType: BooruPostFileType = .preview + + @AppStorage("searchSuggestions") + var searchSuggestions: Bool = false + + @AppStorage("columns") + var columns: Int = 2 + + @AppStorage("blurNSFWThumbnails") + var blurNSFWThumbnails: Bool = true + + @AppStorage("showNSFWPosts") + var showNSFWPosts: Bool = false + + @AppStorage("bookmarks") + private var bookmarksData: Data = .init() + + @AppStorage("preferredBooru") + var preferredBooru: BooruProvider = .yandere var bookmarks: [Bookmark] { get { |