import 'package:PiliPlus/utils/duration_utils.dart'; import 'package:PiliPlus/utils/num_utils.dart'; class UserInfo { final int viewCount; final double minutesSaved; final int segmentCount; const UserInfo({ required this.viewCount, required this.minutesSaved, required this.segmentCount, }); factory UserInfo.fromJson(Map json) => UserInfo( viewCount: json['viewCount'], minutesSaved: (json['minutesSaved'] as num).toDouble(), segmentCount: json['segmentCount'], ); @override String toString() { String minutes = DurationUtils.formatTimeDuration( Duration(minutes: minutesSaved.round()), ); if (minutes.isEmpty) { minutes = '0分钟'; } return ('您提交了 ${NumUtils.formatPositiveDecimal(segmentCount)} 片段\n' '您为大家节省了 ${NumUtils.formatPositiveDecimal(viewCount)} 片段\n' '($minutes 的生命)'); } }