From 9e4ae53ea6dfe55a55020a241b721c42ccb13e18 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Sat, 1 Mar 2025 18:23:48 -0800 Subject: feat: Development commit --- Sora/Data/Booru/BooruManager.swift | 12 +++++++++++- Sora/Views/BookmarksView.swift | 2 +- Sora/Views/MainView.swift | 2 +- Sora/Views/Post/Details/PostDetailsTagsView.swift | 3 ++- Sora/Views/Post/Grid/PostGridView.swift | 10 +--------- 5 files changed, 16 insertions(+), 13 deletions(-) diff --git a/Sora/Data/Booru/BooruManager.swift b/Sora/Data/Booru/BooruManager.swift index e8c684f..2b52b4b 100644 --- a/Sora/Data/Booru/BooruManager.swift +++ b/Sora/Data/Booru/BooruManager.swift @@ -130,7 +130,17 @@ class BooruManager: ObservableObject { } } - func performSearch() { + func performSearch(settings: SettingsManager? = nil) { + if let settings { + settings.appendToSearchHistory( + BooruSearchQuery( + provider: settings.preferredBooru, + tags: tags, + searchedAt: Date() + ) + ) + } + currentTask?.cancel() currentTask = Task { diff --git a/Sora/Views/BookmarksView.swift b/Sora/Views/BookmarksView.swift index 26a3135..fa9ca5d 100644 --- a/Sora/Views/BookmarksView.swift +++ b/Sora/Views/BookmarksView.swift @@ -44,7 +44,7 @@ struct BookmarksView: View { selectedTab = 0 if previousProvider == settings.preferredBooru { - manager.performSearch() + manager.performSearch(settings: settings) } }) { GenericItemView( diff --git a/Sora/Views/MainView.swift b/Sora/Views/MainView.swift index ac1cacb..b9145cd 100644 --- a/Sora/Views/MainView.swift +++ b/Sora/Views/MainView.swift @@ -54,7 +54,7 @@ struct MainView: View { if manager.searchText.isEmpty { await manager.fetchPosts() } else { - manager.performSearch() + manager.performSearch(settings: settings) } } } diff --git a/Sora/Views/Post/Details/PostDetailsTagsView.swift b/Sora/Views/Post/Details/PostDetailsTagsView.swift index 452906a..6d1554d 100644 --- a/Sora/Views/Post/Details/PostDetailsTagsView.swift +++ b/Sora/Views/Post/Details/PostDetailsTagsView.swift @@ -2,6 +2,7 @@ import SwiftUI struct PostDetailsTagsView: View { @EnvironmentObject var manager: BooruManager + @EnvironmentObject var settings: SettingsManager @Binding var isPresented: Bool var tags: [String] @@ -30,7 +31,7 @@ struct PostDetailsTagsView: View { private func search() { manager.selectedPost = nil - manager.performSearch() + manager.performSearch(settings: settings) isPresented.toggle() } } diff --git a/Sora/Views/Post/Grid/PostGridView.swift b/Sora/Views/Post/Grid/PostGridView.swift index 187acc9..d5d583b 100644 --- a/Sora/Views/Post/Grid/PostGridView.swift +++ b/Sora/Views/Post/Grid/PostGridView.swift @@ -39,15 +39,7 @@ struct PostGridView: View { } } .onSubmit(of: .search) { - manager.performSearch() - settings - .appendToSearchHistory( - BooruSearchQuery( - provider: settings.preferredBooru, - tags: manager.tags, - searchedAt: Date() - ) - ) + manager.performSearch(settings: settings) } .navigationDestination(for: BooruPost.self) { post in PostDetailsView(post: post) -- cgit v1.2.3