Load bookmarks

This commit is contained in:
Juan Gilsanz Polo
2024-02-22 18:32:20 +01:00
parent 926147edbd
commit 1521fd0f7e
17 changed files with 429 additions and 286 deletions

View File

@@ -1 +1,31 @@
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:my_linkding/screens/links/model/links.model.dart';
import 'package:my_linkding/models/api_response.dart';
import 'package:my_linkding/models/data/bookmarks.dart';
import 'package:my_linkding/providers/api_client_provider.dart';
part 'links.provider.g.dart';
@riverpod
FutureOr<ApiResponse<Bookmarks>> linksRequest(LinksRequestRef ref) async {
final result = await ref.watch(apiClientProviderProvider)!.fetchBookmarks();
return result;
}
@riverpod
class Links extends _$Links {
@override
LinksModel build() {
return LinksModel();
}
void setCurrentPage(int page) {
state.currentPage = page;
}
void setLimit(int limit) {
state.limit = limit;
}
}

View File

@@ -0,0 +1,39 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'links.provider.dart';
// **************************************************************************
// RiverpodGenerator
// **************************************************************************
String _$linksRequestHash() => r'be41da02d669705dc7723ba9fbab0c5b59fd233b';
/// See also [linksRequest].
@ProviderFor(linksRequest)
final linksRequestProvider =
AutoDisposeFutureProvider<ApiResponse<Bookmarks>>.internal(
linksRequest,
name: r'linksRequestProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product') ? null : _$linksRequestHash,
dependencies: null,
allTransitiveDependencies: null,
);
typedef LinksRequestRef = AutoDisposeFutureProviderRef<ApiResponse<Bookmarks>>;
String _$linksHash() => r'a609009ca33885b1efd0d7c1122bee8299b98af3';
/// See also [Links].
@ProviderFor(Links)
final linksProvider = AutoDisposeNotifierProvider<Links, LinksModel>.internal(
Links.new,
name: r'linksProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product') ? null : _$linksHash,
dependencies: null,
allTransitiveDependencies: null,
);
typedef _$Links = AutoDisposeNotifier<LinksModel>;
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member