Added read status selector

This commit is contained in:
Juan Gilsanz Polo
2024-02-28 15:58:40 +01:00
parent ab92501481
commit d461dd4840
12 changed files with 238 additions and 35 deletions

View File

@@ -12,10 +12,11 @@ import 'package:linkdy/constants/enums.dart';
part 'bookmarks.provider.g.dart';
@riverpod
FutureOr<void> bookmarksRequest(BookmarksRequestRef ref, int limit) async {
FutureOr<void> bookmarksRequest(BookmarksRequestRef ref, ReadStatus readStatus, int limit) async {
final result = await ref.watch(apiClientProvider)!.fetchBookmarks(
limit: limit,
offset: 0,
unread: readStatus,
);
if (result.successful == true) {
@@ -40,6 +41,7 @@ FutureOr<void> bookmarksRequestLoadMore(BookmarksRequestLoadMoreRef ref) async {
final result = await ref.watch(apiClientProvider)!.fetchBookmarks(
limit: provider.limit,
offset: newOffset,
unread: ref.read(bookmarksProvider).readStatus,
);
if (result.successful == true) {
@@ -59,7 +61,7 @@ class Bookmarks extends _$Bookmarks {
final model = BookmarksModel(
bookmarks: [],
);
ref.read(bookmarksRequestProvider(model.limit));
ref.read(bookmarksRequestProvider(model.readStatus, model.limit));
return model;
}
@@ -85,8 +87,14 @@ class Bookmarks extends _$Bookmarks {
ref.notifyListeners();
}
void setReadStatus(ReadStatus status) {
state.readStatus = status;
ref.read(bookmarksRequestProvider(status, state.limit));
ref.notifyListeners();
}
Future<void> refresh() async {
await ref.read(bookmarksRequestProvider(state.limit).future);
await ref.read(bookmarksRequestProvider(state.readStatus, state.limit).future);
}
void deleteBookmark(Bookmark bookmark) async {