diff options
Diffstat (limited to 'Sora/Views/MainView.swift')
| -rw-r--r-- | Sora/Views/MainView.swift | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/Sora/Views/MainView.swift b/Sora/Views/MainView.swift index 0cf2679..88b93c0 100644 --- a/Sora/Views/MainView.swift +++ b/Sora/Views/MainView.swift @@ -12,6 +12,11 @@ struct MainView: View { .onChange(of: settings.preferredBooru) { _, newState in updateManager(newState) } + .onChange(of: settings.searchSuggestions) { _, newState in + if newState { + refreshTags() + } + } .onAppear(perform: initializeManager) } @@ -44,6 +49,8 @@ struct MainView: View { manager.searchText = previousSearchText Task { + refreshTags() + if manager.searchText.isEmpty { await manager.fetchPosts() } else { @@ -56,9 +63,19 @@ struct MainView: View { manager = BooruManager(settings.preferredBooru) Task { + refreshTags() + if manager.posts.isEmpty { await manager.fetchPosts() } } } + + private func refreshTags() { + if settings.searchSuggestions { + Task { + manager.initializeTags() + } + } + } } |