summaryrefslogtreecommitdiff
path: root/Sora
diff options
context:
space:
mode:
authorFuwn <[email protected]>2025-02-27 20:42:33 -0800
committerFuwn <[email protected]>2025-02-27 20:43:11 -0800
commit9fb2796c1f488c235450d9c1ce38c40cd12a9b64 (patch)
tree37434d822062a7ab650e84dea2d4e2602ddf3f46 /Sora
parentfeat: Development commit (diff)
downloadsora-testing-9fb2796c1f488c235450d9c1ce38c40cd12a9b64.tar.xz
sora-testing-9fb2796c1f488c235450d9c1ce38c40cd12a9b64.zip
feat: Development commit
Diffstat (limited to 'Sora')
-rw-r--r--Sora/Data/Settings/Settings.swift25
-rw-r--r--Sora/Data/Settings/SettingsSearchSuggestionsMode.swift5
-rw-r--r--Sora/Views/MainView.swift6
-rw-r--r--Sora/Views/Post/Grid/PostGridView.swift2
-rw-r--r--Sora/Views/Settings/Section/SettingsSearchView.swift6
5 files changed, 27 insertions, 17 deletions
diff --git a/Sora/Data/Settings/Settings.swift b/Sora/Data/Settings/Settings.swift
index e708d5b..e1cd2d2 100644
--- a/Sora/Data/Settings/Settings.swift
+++ b/Sora/Data/Settings/Settings.swift
@@ -7,18 +7,12 @@ class Settings: ObservableObject {
@AppStorage("thumbnailQuality")
var thumbnailQuality: BooruPostFileType = .preview
- @AppStorage("searchSuggestions")
- var searchSuggestions = false
+ @AppStorage("searchSuggestionsMode")
+ var searchSuggestionsMode: SettingsSearchSuggestionsMode = .disabled
@AppStorage("thumbnailGridColumns")
var thumbnailGridColumns = 2
- @AppStorage("blurNSFWThumbnails")
- var blurNSFWThumbnails = true
-
- @AppStorage("showNSFWPosts")
- var showNSFWPosts = false
-
@AppStorage("bookmarks")
private var bookmarksData = Data()
@@ -42,7 +36,7 @@ class Settings: ObservableObject {
#if os(macOS)
@AppStorage("saveTagsToFile")
- var saveTagsToFile = true
+ var saveTagsToFile = false
#endif
var bookmarks: [Bookmark] {
@@ -120,10 +114,17 @@ class Settings: ObservableObject {
func resetToDefaults() {
detailViewQuality = .original
thumbnailQuality = .preview
- searchSuggestions = false
+ searchSuggestionsMode = .disabled
thumbnailGridColumns = 2
- blurNSFWThumbnails = true
- showNSFWPosts = false
+ preferredBooru = .safebooru
+ enableShareShortcut = false
+ displayRatingsData = Self.defaultRatingsData()
+ blurRatingsData = Self.defaultRatingsData()
+ displayDetailsInformationBar = true
+
+ #if os(macOS)
+ saveTagsToFile = false
+ #endif
}
func addBookmark(provider: BooruProvider, tags: [String]) {
diff --git a/Sora/Data/Settings/SettingsSearchSuggestionsMode.swift b/Sora/Data/Settings/SettingsSearchSuggestionsMode.swift
new file mode 100644
index 0000000..a8ed444
--- /dev/null
+++ b/Sora/Data/Settings/SettingsSearchSuggestionsMode.swift
@@ -0,0 +1,5 @@
+enum SettingsSearchSuggestionsMode: String, CaseIterable {
+ case disabled = "none"
+ case history = "history"
+ case tags = "tags"
+}
diff --git a/Sora/Views/MainView.swift b/Sora/Views/MainView.swift
index 2e1ab2e..03612c9 100644
--- a/Sora/Views/MainView.swift
+++ b/Sora/Views/MainView.swift
@@ -12,8 +12,8 @@ struct MainView: View {
.onChange(of: settings.preferredBooru) { _, newState in
updateManager(newState)
}
- .onChange(of: settings.searchSuggestions) { _, newState in
- if newState {
+ .onChange(of: settings.searchSuggestionsMode) { _, newState in
+ if newState != .disabled {
refreshTags()
}
}
@@ -72,7 +72,7 @@ struct MainView: View {
}
private func refreshTags() {
- if settings.searchSuggestions {
+ if settings.searchSuggestionsMode != .disabled {
Task {
manager.initializeTags()
}
diff --git a/Sora/Views/Post/Grid/PostGridView.swift b/Sora/Views/Post/Grid/PostGridView.swift
index b355b2f..3da87d4 100644
--- a/Sora/Views/Post/Grid/PostGridView.swift
+++ b/Sora/Views/Post/Grid/PostGridView.swift
@@ -29,7 +29,7 @@ struct PostGridView: View {
}
.searchable(text: $manager.searchText, prompt: "Tags")
.searchSuggestions {
- if settings.searchSuggestions {
+ if settings.searchSuggestionsMode == .tags {
SearchSuggestionsView(
tags: manager.allTags,
searchText: $manager.searchText
diff --git a/Sora/Views/Settings/Section/SettingsSearchView.swift b/Sora/Views/Settings/Section/SettingsSearchView.swift
index 5036f72..f8fa270 100644
--- a/Sora/Views/Settings/Section/SettingsSearchView.swift
+++ b/Sora/Views/Settings/Section/SettingsSearchView.swift
@@ -10,7 +10,11 @@ struct SettingsSearchView: View {
#endif
var body: some View {
- Toggle("Suggest Tags", isOn: $settings.searchSuggestions)
+ Picker("Suggestion Mode", selection: $settings.searchSuggestionsMode) {
+ ForEach(SettingsSearchSuggestionsMode.allCases, id: \.self) { type in
+ Text(type.rawValue.capitalized).tag(type)
+ }
+ }
Button(
"Clear Cached Tags (\(manager.cacheSize ?? "Unknown size"))"