♻️ Rebuilt fetching state machine

This commit is contained in:
2026-01-01 11:40:28 +08:00
parent eea56a742e
commit 38dffa414f
34 changed files with 665 additions and 430 deletions

View File

@@ -164,10 +164,24 @@ final notificationListProvider = AsyncNotifierProvider.autoDispose(
NotificationListNotifier.new,
);
class NotificationListNotifier extends AsyncNotifier<List<SnNotification>>
class NotificationListNotifier
extends AsyncNotifier<PaginationState<SnNotification>>
with AsyncPaginationController<SnNotification> {
static const int pageSize = 5;
@override
FutureOr<PaginationState<SnNotification>> build() async {
final items = await fetch();
return PaginationState(
items: items,
isLoading: false,
isReloading: false,
totalCount: totalCount,
hasMore: hasMore,
cursor: cursor,
);
}
@override
Future<List<SnNotification>> fetch() async {
final client = ref.read(apiClientProvider);