feat: change progress indicator

This commit is contained in:
Simon Ding
2024-07-13 19:34:01 +08:00
parent 8ae1c09d83
commit 50a237df25
8 changed files with 103 additions and 63 deletions

View File

@@ -4,7 +4,8 @@ import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:ui/providers/APIs.dart';
import 'package:ui/providers/server_response.dart';
var activitiesDataProvider = AsyncNotifierProvider.autoDispose<ActivityData, List<Activity>>(
var activitiesDataProvider =
AsyncNotifierProvider.autoDispose<ActivityData, List<Activity>>(
ActivityData.new);
class ActivityData extends AutoDisposeAsyncNotifier<List<Activity>> {
@@ -35,40 +36,42 @@ class ActivityData extends AutoDisposeAsyncNotifier<List<Activity>> {
}
class Activity {
Activity({
required this.id,
required this.seriesId,
required this.episodeId,
required this.sourceTitle,
required this.date,
required this.targetDir,
required this.completed,
required this.saved,
required this.inBackgroud,
});
Activity({
required this.id,
required this.seriesId,
required this.episodeId,
required this.sourceTitle,
required this.date,
required this.targetDir,
required this.completed,
required this.saved,
required this.inBackgroud,
required this.progress
});
final int? id;
final int? seriesId;
final int? episodeId;
final String? sourceTitle;
final DateTime? date;
final String? targetDir;
final bool? completed;
final String? saved;
final bool? inBackgroud;
factory Activity.fromJson(Map<String, dynamic> json){
return Activity(
id: json["id"],
seriesId: json["series_id"],
episodeId: json["episode_id"],
sourceTitle: json["source_title"],
date: DateTime.tryParse(json["date"] ?? ""),
targetDir: json["target_dir"],
completed: json["completed"],
saved: json["saved"],
inBackgroud: json["in_backgroud"],
);
}
final int? id;
final int? seriesId;
final int? episodeId;
final String? sourceTitle;
final DateTime? date;
final String? targetDir;
final bool? completed;
final String? saved;
final bool? inBackgroud;
final int? progress;
factory Activity.fromJson(Map<String, dynamic> json) {
return Activity(
id: json["id"],
seriesId: json["series_id"],
episodeId: json["episode_id"],
sourceTitle: json["source_title"],
date: DateTime.tryParse(json["date"] ?? ""),
targetDir: json["target_dir"],
completed: json["completed"],
saved: json["saved"],
inBackgroud: json["in_backgroud"],
progress: json["progress"]
);
}
}