Fix: clear search results instantly on query clear

Skipped the 300ms debounce for blank queries so the results list clears immediately; typed queries keep the debounce.
This commit is contained in:
2026-08-30 03:36:27 +08:00
parent bab03b6c73
commit 43823e3bfa
@@ -85,7 +85,12 @@ class SearchViewModel(
@OptIn(FlowPreview::class, ExperimentalCoroutinesApi::class) @OptIn(FlowPreview::class, ExperimentalCoroutinesApi::class)
val searchResults: Flow<PagingData<IndexEntry>> = combine( val searchResults: Flow<PagingData<IndexEntry>> = combine(
searchQuery.debounce(300.milliseconds).distinctUntilChanged(), searchQuery
.map { it to it.isBlank() }
.distinctUntilChangedBy { it.first }
.flatMapLatest { (query, isBlank) ->
if (isBlank) flowOf(query) else flowOf(query).debounce(300.milliseconds)
},
activeDictionaries activeDictionaries
) { query, dictionaries -> ) { query, dictionaries ->
query to dictionaries query to dictionaries