diff --git a/lib/core/network/network_manager.dart b/lib/core/network/network_manager.dart index bda2249..cb70b6a 100644 --- a/lib/core/network/network_manager.dart +++ b/lib/core/network/network_manager.dart @@ -176,7 +176,7 @@ class NetworkManager { final result = fromJson(res.data); appLogger.info('✅ Response parsed successfully'); return Result.ok(result); - } on Exception catch (e) { + } catch (e) { appLogger.error('❌ Failed to parse response: $e'); return Result.error( FetchDataException( diff --git a/lib/view_models/home_view_model.dart b/lib/view_models/home_view_model.dart index f779783..de72104 100644 --- a/lib/view_models/home_view_model.dart +++ b/lib/view_models/home_view_model.dart @@ -51,6 +51,11 @@ class HomeViewModel with ChangeNotifier { await getYourTenders(reset: true); await getFeedbackStats(); + if (_errorMessage != null || _errorMessage!.isNotEmpty) { + _isLoading = false; + notifyListeners(); + return; + } _isLoading = false; notifyListeners(); } @@ -111,7 +116,6 @@ class HomeViewModel with ChangeNotifier { } _isLoadingMore = true; - _errorMessage = null; _isRecommendedMode = false; notifyListeners(); @@ -151,8 +155,6 @@ class HomeViewModel with ChangeNotifier { } Future getApprovedStates() async { - _errorMessage = null; - final result = await _homeRepository.getTendersApprovalsState(); switch (result) { @@ -163,11 +165,10 @@ class HomeViewModel with ChangeNotifier { _errorMessage = result.error.toString(); break; } + notifyListeners(); } Future getFeedbackStats() async { - _errorMessage = null; - final result = await _homeRepository.getFeedbackStats(); switch (result) { @@ -178,6 +179,7 @@ class HomeViewModel with ChangeNotifier { _errorMessage = result.error.toString(); break; } + notifyListeners(); } double get partnershipCount {