From e084ee2714c76f9081d4c57d07dec7ddd21783c2 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Fri, 28 Feb 2025 03:33:21 -0800 Subject: feat: Development commit --- .../PostGridSearchHistoryItemView.swift | 39 ------------ .../SearchHistory/PostGridSearchHistoryView.swift | 73 ---------------------- 2 files changed, 112 deletions(-) delete mode 100644 Sora/Views/Post/Grid/SearchHistory/PostGridSearchHistoryItemView.swift delete mode 100644 Sora/Views/Post/Grid/SearchHistory/PostGridSearchHistoryView.swift (limited to 'Sora/Views/Post/Grid/SearchHistory') diff --git a/Sora/Views/Post/Grid/SearchHistory/PostGridSearchHistoryItemView.swift b/Sora/Views/Post/Grid/SearchHistory/PostGridSearchHistoryItemView.swift deleted file mode 100644 index 5e0b7ce..0000000 --- a/Sora/Views/Post/Grid/SearchHistory/PostGridSearchHistoryItemView.swift +++ /dev/null @@ -1,39 +0,0 @@ -import SwiftUI - -struct PostGridSearchHistoryItemView: View { - @EnvironmentObject var settings: SettingsManager - var query: BooruSearchQuery - - var body: some View { - #if os(macOS) - HStack { - VStack(alignment: .leading) { - Text(query.tags.joined(separator: ", ").lowercased()) - - Spacer() - - Text("On \(query.searchedAt.formatted()) from \(query.provider.rawValue)") - .font(.caption) - .foregroundStyle(Color.secondary) - } - - Spacer() - - Button { - settings.removeSearchHistoryEntry(withID: query.id) - } label: { - Image(systemName: "trash") - } - } - .padding() - #else - VStack(alignment: .leading) { - Text(query.tags.joined(separator: ", ").lowercased()) - - Text("On \(query.searchedAt.formatted()) from \(query.provider.rawValue)") - .font(.caption) - .foregroundStyle(Color.secondary) - } - #endif - } -} diff --git a/Sora/Views/Post/Grid/SearchHistory/PostGridSearchHistoryView.swift b/Sora/Views/Post/Grid/SearchHistory/PostGridSearchHistoryView.swift deleted file mode 100644 index be2d2ea..0000000 --- a/Sora/Views/Post/Grid/SearchHistory/PostGridSearchHistoryView.swift +++ /dev/null @@ -1,73 +0,0 @@ -import SwiftUI - -struct PostGridSearchHistoryView: View { - @EnvironmentObject private var manager: BooruManager - @EnvironmentObject private var settings: SettingsManager - @State private var searchText: String = "" - @Binding var selectedTab: Int - - var filteredHistory: [BooruSearchQuery] { - guard !searchText.isEmpty else { - return settings.searchHistory - } - - return settings.searchHistory - .filter { query in - query.tags - .joined(separator: " ") - .lowercased() - .contains(searchText.lowercased()) - } - } - - var body: some View { - NavigationStack { - VStack { - if settings.searchHistory.isEmpty { - ContentUnavailableView( - "No History", - systemImage: "magnifyingglass", - description: Text("Recent searches will appear here.") - ) - } else { - List { - if filteredHistory.isEmpty, !searchText.isEmpty { - Text("No matching history found") - } - - ForEach(filteredHistory, id: \.id) { query in - Button(action: { - let previousProvider = settings.preferredBooru - - settings.preferredBooru = query.provider - manager.searchText = query.tags.joined(separator: " ") - selectedTab = 0 - - if previousProvider == settings.preferredBooru { - manager.performSearch() - } - }) { - PostGridSearchHistoryItemView(query: query) - } - #if os(macOS) - .buttonStyle(.plain) - #endif - } - .onDelete(perform: settings.removeSearchHistoryEntry) - } - #if os(macOS) - .listStyle(.plain) - #endif - } - } - } - .navigationTitle("Search History") - .searchable(text: $searchText) - } -} - -#Preview { - PostGridSearchHistoryView(selectedTab: .constant(0)) - .environmentObject(SettingsManager()) - .environmentObject(BooruManager(.safebooru)) -} -- cgit v1.2.3