feat: percent_indicator

This commit is contained in:
Simon Ding
2024-07-15 11:30:31 +08:00
parent b2c4b69d87
commit 7a19521ca6
4 changed files with 39 additions and 26 deletions

View File

@@ -1,5 +1,6 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:percent_indicator/circular_percent_indicator.dart';
import 'package:ui/providers/activity.dart'; import 'package:ui/providers/activity.dart';
import 'package:ui/widgets/progress_indicator.dart'; import 'package:ui/widgets/progress_indicator.dart';
@@ -34,7 +35,7 @@ class ActivityPage extends ConsumerWidget {
return const MyProgressIndicator( return const MyProgressIndicator(
size: 20, size: 20,
); );
}else if (activity.status == "fail") { } else if (activity.status == "fail") {
return const Icon( return const Icon(
Icons.close, Icons.close,
color: Colors.red, color: Colors.red,
@@ -46,10 +47,15 @@ class ActivityPage extends ConsumerWidget {
); );
} }
double p = activity.progress == null ? 0:activity.progress!.toDouble() / 100; double p = activity.progress == null
return MyProgressIndicator( ? 0
value: p, : activity.progress!.toDouble() / 100;
size: 20, return CircularPercentIndicator(
radius: 15.0,
lineWidth: 5.0,
percent: p,
center: Text("${p * 100}"),
progressColor: Colors.green,
); );
}()), }()),
DataCell(IconButton( DataCell(IconButton(

View File

@@ -36,8 +36,8 @@ class ActivityData extends AutoDisposeAsyncNotifier<List<Activity>> {
} }
class Activity { class Activity {
Activity({ Activity(
required this.id, {required this.id,
required this.seriesId, required this.seriesId,
required this.episodeId, required this.episodeId,
required this.sourceTitle, required this.sourceTitle,
@@ -45,8 +45,7 @@ class Activity {
required this.targetDir, required this.targetDir,
required this.status, required this.status,
required this.saved, required this.saved,
required this.progress required this.progress});
});
final int? id; final int? id;
final int? seriesId; final int? seriesId;
@@ -68,7 +67,6 @@ class Activity {
targetDir: json["target_dir"], targetDir: json["target_dir"],
status: json["status"], status: json["status"],
saved: json["saved"], saved: json["saved"],
progress: json["progress"] progress: json["progress"]);
);
} }
} }

View File

@@ -312,6 +312,14 @@ packages:
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.3.0" version: "2.3.0"
percent_indicator:
dependency: "direct main"
description:
name: percent_indicator
sha256: c37099ad833a883c9d71782321cb65c3a848c21b6939b6185f0ff6640d05814c
url: "https://pub.flutter-io.cn"
source: hosted
version: "4.2.3"
phone_numbers_parser: phone_numbers_parser:
dependency: transitive dependency: transitive
description: description:

View File

@@ -41,6 +41,7 @@ dependencies:
quiver: ^3.2.1 quiver: ^3.2.1
flutter_login: ^5.0.0 flutter_login: ^5.0.0
shared_preferences: ^2.2.3 shared_preferences: ^2.2.3
percent_indicator: ^4.2.3
dev_dependencies: dev_dependencies:
flutter_test: flutter_test: