fetchNextPage method
Implementation
Future<void> fetchNextPage() async {
if (_isLoadingMore || !_hasMore || state.isLoading) return;
_isLoadingMore = true;
final repository = ref.read(galleryRepositoryProvider);
final query = ref.read(gallerySearchQueryProvider);
final sortConfig = ref.read(gallerySortProvider);
try {
final nextPage = _currentPage + 1;
final nextGalleries = await repository.findGalleries(
page: nextPage,
perPage: _perPage,
filter: query.isEmpty ? null : query,
sort: sortConfig.sort,
descending: sortConfig.descending,
);
if (nextGalleries.isEmpty) {
_hasMore = false;
} else {
_currentPage = nextPage;
state = AsyncData([...state.value ?? [], ...nextGalleries]);
}
} finally {
_isLoadingMore = false;
}
}