diff options
| author | Fuwn <[email protected]> | 2025-03-01 20:06:00 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2025-03-01 20:06:00 -0800 |
| commit | 28faf92c6a97da342d3c1195260dd2e0d4559253 (patch) | |
| tree | e5391a8ff1a6f40435b1e974d8890a619b2a8c30 /Sora | |
| parent | feat: Development commit (diff) | |
| download | sora-testing-28faf92c6a97da342d3c1195260dd2e0d4559253.tar.xz sora-testing-28faf92c6a97da342d3c1195260dd2e0d4559253.zip | |
feat: Development commit
Diffstat (limited to 'Sora')
| -rw-r--r-- | Sora/Data/Settings/SettingsManager.swift | 41 |
1 files changed, 23 insertions, 18 deletions
diff --git a/Sora/Data/Settings/SettingsManager.swift b/Sora/Data/Settings/SettingsManager.swift index 3c4dc77..50cd6e0 100644 --- a/Sora/Data/Settings/SettingsManager.swift +++ b/Sora/Data/Settings/SettingsManager.swift @@ -1,6 +1,7 @@ import SwiftUI class SettingsManager: ObservableObject { + // MARK: - @AppStorage("detailViewType") var detailViewQuality: BooruPostFileType = .original @@ -13,15 +14,27 @@ class SettingsManager: ObservableObject { @AppStorage("thumbnailGridColumns") var thumbnailGridColumns = 2 - @AppStorage("bookmarks") - private var bookmarksData = Data() - @AppStorage("preferredBooru") var preferredBooru: BooruProvider = .safebooru @AppStorage("enableShareShortcut") var enableShareShortcut = false + @AppStorage("displayDetailsInformationBar") + var displayDetailsInformationBar = true + + @AppStorage("preloadedCarouselImages") + var preloadedCarouselImages = 3 + + #if os(macOS) + @AppStorage("saveTagsToFile") + var saveTagsToFile = false + #endif + + // MARK: - + @AppStorage("bookmarks") + private var bookmarksData = Data() + @AppStorage("displayRatings") private var displayRatingsData = SettingsManager.defaultRatingsData() @@ -30,20 +43,10 @@ class SettingsManager: ObservableObject { enabledRatings: [.explicit] ) - @AppStorage("displayDetailsInformationBar") - var displayDetailsInformationBar = true - @AppStorage("searchHistory") private var searchHistoryData = Data() - #if os(macOS) - @AppStorage("saveTagsToFile") - var saveTagsToFile = false - #endif - - @AppStorage("preloadedCarouselImages") - var preloadedCarouselImages = 3 - + // MARK: - var bookmarks: [SettingsBookmark] { get { if let bookmarks = try? JSONDecoder().decode([SettingsBookmark].self, from: bookmarksData) { @@ -86,10 +89,7 @@ class SettingsManager: ObservableObject { } } - func appendToSearchHistory(_ query: BooruSearchQuery) { - self.searchHistory.append(query) - } - + // MARK: - private static func defaultRatingsData() -> Data { initializeRatingsData(enabledRatings: BooruRating.allCases) } @@ -122,6 +122,11 @@ class SettingsManager: ObservableObject { try? JSONEncoder().encode(ratings) } + // MARK: - + func appendToSearchHistory(_ query: BooruSearchQuery) { + self.searchHistory.append(query) + } + func resetToDefaults() { detailViewQuality = .original thumbnailQuality = .preview |