feat: seperate active and archived activities

This commit is contained in:
Simon Ding
2024-07-23 22:22:53 +08:00
parent 55f5ce329c
commit 730db5c94a
3 changed files with 101 additions and 38 deletions

View File

@@ -5,7 +5,7 @@ import 'package:ui/providers/APIs.dart';
import 'package:ui/providers/server_response.dart';
var activitiesDataProvider =
AsyncNotifierProvider.autoDispose<ActivityData, List<Activity>>(
AsyncNotifierProvider.autoDispose.family<ActivityData, List<Activity>, String>(
ActivityData.new);
var mediaHistoryDataProvider = FutureProvider.autoDispose.family(
@@ -24,14 +24,18 @@ var mediaHistoryDataProvider = FutureProvider.autoDispose.family(
},
);
class ActivityData extends AutoDisposeAsyncNotifier<List<Activity>> {
class ActivityData
extends AutoDisposeFamilyAsyncNotifier<List<Activity>, String> {
@override
FutureOr<List<Activity>> build() async {
Timer(
const Duration(seconds: 5), ref.invalidateSelf); //Periodically Refresh
FutureOr<List<Activity>> build(String arg) async {
if (arg == "active") {
//refresh active downloads
Timer(const Duration(seconds: 5),
ref.invalidateSelf); //Periodically Refresh
}
final dio = await APIs.getDio();
var resp = await dio.get(APIs.activityUrl);
var resp = await dio.get(APIs.activityUrl, queryParameters: {"status": arg});
final sp = ServerResponse.fromJson(resp.data);
if (sp.code != 0) {
throw sp.message;