diff --git a/lib/providers/news_provider.dart b/lib/providers/news_provider.dart index 18b3a66..2077a0c 100644 --- a/lib/providers/news_provider.dart +++ b/lib/providers/news_provider.dart @@ -56,7 +56,7 @@ class NewsNotifier extends AsyncNotifier { @override Future build() async { - final items = await ref.read(newsApiProvider).getNewsItems( + final items = await ref.watch(newsApiProvider).getNewsItems( days: 90, limit: _limit, offset: 0, @@ -94,7 +94,8 @@ class NewsNotifier extends AsyncNotifier { reactions: updatedReactions, )); } catch (e) { - state = AsyncData(current.copyWith(loadingMore: false)); + final recovered = state.value ?? current; + state = AsyncData(recovered.copyWith(loadingMore: false)); rethrow; } } @@ -152,6 +153,6 @@ final feedsProvider = class FeedsNotifier extends AsyncNotifier> { @override Future> build() async { - return ref.read(newsApiProvider).getFeeds(); + return ref.watch(newsApiProvider).getFeeds(); } }