diff --git a/lib/screens/search_screen.dart b/lib/screens/search_screen.dart index cf2fda95..99afe512 100644 --- a/lib/screens/search_screen.dart +++ b/lib/screens/search_screen.dart @@ -28,6 +28,7 @@ class _SearchScreenState extends State bool _isSearching = false; bool _hasSearched = false; Timer? _debounceTimer; + String _lastSearchedQuery = ''; @override void initState() { @@ -54,10 +55,16 @@ class _SearchScreenState extends State _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 setState(() { _searchResults = results; _isSearching = false; + _lastSearchedQuery = query.trim(); }); } } catch (e) {