fix: no redundant search queries

This commit is contained in:
edde746
2025-10-30 13:08:31 +01:00
parent 564746d6a7
commit 17dba97dbb
+8
View File
@@ -28,6 +28,7 @@ class _SearchScreenState extends State<SearchScreen>
bool _isSearching = false;
bool _hasSearched = false;
Timer? _debounceTimer;
String _lastSearchedQuery = '';
@override
void initState() {
@@ -54,10 +55,16 @@ class _SearchScreenState extends State<SearchScreen>
_searchResults = [];
_hasSearched = false;
_isSearching = false;
_lastSearchedQuery = '';
});
return;
}
// Only search if the query has actually changed
if (query.trim() == _lastSearchedQuery.trim()) {
return;
}
// Start new timer
_debounceTimer = Timer(const Duration(milliseconds: 500), () {
_performSearch(query);
@@ -84,6 +91,7 @@ class _SearchScreenState extends State<SearchScreen>
setState(() {
_searchResults = results;
_isSearching = false;
_lastSearchedQuery = query.trim();
});
}
} catch (e) {