From 51dde4f94a8b306f80352b5d5ade6427fa8948be Mon Sep 17 00:00:00 2001 From: Fuwn Date: Sat, 14 Jun 2025 08:18:13 -0700 Subject: feat: Development commit --- Sora/Views/Post/Grid/PostGridView.swift | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/Sora/Views/Post/Grid/PostGridView.swift b/Sora/Views/Post/Grid/PostGridView.swift index 165ac01..8e077c3 100644 --- a/Sora/Views/Post/Grid/PostGridView.swift +++ b/Sora/Views/Post/Grid/PostGridView.swift @@ -8,6 +8,7 @@ struct PostGridView: View { @Binding var selectedTab: Int @State private var viewStates: [UUID: PostGridViewState] = [:] @State private var isSearchablePresented = false + @State private var cachedSuggestions: [Either] = [] @Environment(\.isSearching) private var isSearching @@ -53,6 +54,13 @@ struct PostGridView: View { ) } } + .onAppear { + if settings.searchSuggestionsMode == .tags { + cachedSuggestions = manager.allTags.map { tag in + Either.left(tag) + } + } + } .onSubmit(of: .search) { manager.performSearch(settings: settings) } @@ -201,22 +209,16 @@ struct PostGridView: View { } private func searchSuggestionsItems() -> [Either] { - let items: [Either] - switch settings.searchSuggestionsMode { case .tags: - items = manager.allTags - .map { Either.left($0) } + return cachedSuggestions case .history: - items = settings.searchHistory - .map { Either.right($0) } + return settings.searchHistory.map { .right($0) } case .disabled: - items = [] + return [] } - - return items } private func updateViewState( -- cgit v1.2.3