fix:对比原型增加功能交互
This commit is contained in:
@@ -2,26 +2,68 @@ import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||
|
||||
import 'models/models.dart';
|
||||
import 'providers.dart';
|
||||
import 'state/app_state_controllers.dart';
|
||||
import 'state/report_query.dart';
|
||||
|
||||
final recommendedReportsProvider =
|
||||
FutureProvider.autoDispose<List<ReportCardModel>>((ref) async {
|
||||
final dataSource = ref.watch(reportDataSourceProvider);
|
||||
return dataSource.recommended();
|
||||
});
|
||||
final dataSource = ref.watch(reportDataSourceProvider);
|
||||
return dataSource.recommended();
|
||||
});
|
||||
|
||||
final reportsProvider =
|
||||
final recommendedByTopicProvider =
|
||||
FutureProvider.autoDispose<List<ReportCardModel>>((ref) async {
|
||||
final repository = ref.watch(reportRepositoryProvider);
|
||||
final topic = ref.watch(recommendTopicProvider);
|
||||
return repository.getRecommended(topic: topic);
|
||||
});
|
||||
|
||||
final reportsProvider = FutureProvider.autoDispose<List<ReportCardModel>>((
|
||||
ref,
|
||||
) async {
|
||||
final dataSource = ref.watch(reportDataSourceProvider);
|
||||
return dataSource.reports();
|
||||
});
|
||||
|
||||
final institutionsProvider =
|
||||
FutureProvider.autoDispose<List<Institution>>((ref) async {
|
||||
final dataSource = ref.watch(reportDataSourceProvider);
|
||||
return dataSource.institutions();
|
||||
final filteredReportsProvider =
|
||||
FutureProvider.autoDispose<List<ReportCardModel>>((ref) async {
|
||||
final repository = ref.watch(reportRepositoryProvider);
|
||||
final query = ref.watch(reportFilterProvider);
|
||||
return repository.getReports(query);
|
||||
});
|
||||
|
||||
final institutionsProvider = FutureProvider.autoDispose<List<Institution>>((
|
||||
ref,
|
||||
) async {
|
||||
final repository = ref.watch(reportRepositoryProvider);
|
||||
return repository.getInstitutions();
|
||||
});
|
||||
|
||||
final listenProvider = FutureProvider.autoDispose<List<AudioItem>>((ref) async {
|
||||
final dataSource = ref.watch(reportDataSourceProvider);
|
||||
return dataSource.listen();
|
||||
final repository = ref.watch(reportRepositoryProvider);
|
||||
return repository.getListenItems();
|
||||
});
|
||||
|
||||
final profileHistoryReportsProvider =
|
||||
FutureProvider.autoDispose<List<ReportCardModel>>((ref) async {
|
||||
final profile = ref.watch(profileControllerProvider);
|
||||
final repository = ref.watch(reportRepositoryProvider);
|
||||
final reports = await repository.getReports(const ReportQuery());
|
||||
return ProfileListBuilder(reports).byIds(profile.history);
|
||||
});
|
||||
|
||||
final profileFavoriteReportsProvider =
|
||||
FutureProvider.autoDispose<List<ReportCardModel>>((ref) async {
|
||||
final profile = ref.watch(profileControllerProvider);
|
||||
final repository = ref.watch(reportRepositoryProvider);
|
||||
final reports = await repository.getReports(const ReportQuery());
|
||||
return ProfileListBuilder(reports).byIds(profile.favorites);
|
||||
});
|
||||
|
||||
final profileSavedListenReportsProvider =
|
||||
FutureProvider.autoDispose<List<ReportCardModel>>((ref) async {
|
||||
final profile = ref.watch(profileControllerProvider);
|
||||
final repository = ref.watch(reportRepositoryProvider);
|
||||
final reports = await repository.getReports(const ReportQuery());
|
||||
return ProfileListBuilder(reports).byIds(profile.savedListens);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user