diff --git a/lib/pages/home/radar/radar.dart b/lib/pages/home/radar/radar.dart index 296a721..f2b52c4 100644 --- a/lib/pages/home/radar/radar.dart +++ b/lib/pages/home/radar/radar.dart @@ -125,14 +125,15 @@ class _RadarState extends State { } void _onChanged(String value) { - context.read().resetFilters(); + final state = context.read(); + state.resetFilters(shoudUpdate: false); if (value.length < 4 && value.isNotEmpty) return; _timer?.cancel(); _timer = Timer(const Duration(seconds: 2), () { - context.read().getRadarOverviews( - page: 1, - search: value, - ); + state.getRadarOverviews( + page: 1, + search: value, + ); }); } diff --git a/lib/pages/home/radar/radar_state.dart b/lib/pages/home/radar/radar_state.dart index 3807720..0907298 100644 --- a/lib/pages/home/radar/radar_state.dart +++ b/lib/pages/home/radar/radar_state.dart @@ -8,18 +8,20 @@ import 'package:didvan/services/network/request_helper.dart'; class RadarState extends CoreProvier { bool isFiltering = false; - String? _lastSearch; + String? lastSearch; String? startDate; String? endDate; final List selectedCats = []; final List radars = []; - void resetFilters() { + void resetFilters({bool shoudUpdate = true}) { startDate = null; endDate = null; selectedCats.clear(); - getRadarOverviews(page: 1); + if (shoudUpdate) { + getRadarOverviews(page: 1); + } } Future getRadarOverviews({ @@ -28,17 +30,14 @@ class RadarState extends CoreProvier { bool filter = false, }) async { if (search != null && search.isNotEmpty) { - if (_lastSearch == search && !filter) { + if (lastSearch == search && !filter) { return; } isFiltering = true; - _lastSearch = search; + lastSearch = search; } else { isFiltering = false; } - if (filter) { - isFiltering = true; - } appState = AppState.busy; final RequestService service = RequestService( RequestHelper.getRadarOverviews(