diff --git a/filcnaplo/lib/ui/filter/widgets.dart b/filcnaplo/lib/ui/filter/widgets.dart index 5b4db26..063ece8 100644 --- a/filcnaplo/lib/ui/filter/widgets.dart +++ b/filcnaplo/lib/ui/filter/widgets.dart @@ -251,17 +251,11 @@ Widget filterItemBuilder( : const EdgeInsets.symmetric(vertical: 4.0), decoration: BoxDecoration( color: Theme.of(context).colorScheme.background, - borderRadius: BorderRadius.only( - topLeft: index == 0 + borderRadius: BorderRadius.vertical( + top: index == 0 ? const Radius.circular(16.0) : const Radius.circular(8.0), - topRight: index == 0 - ? const Radius.circular(16.0) - : const Radius.circular(8.0), - bottomLeft: index + 1 == len - ? const Radius.circular(16.0) - : const Radius.circular(8.0), - bottomRight: index + 1 == len + bottom: index + 1 == len ? const Radius.circular(16.0) : const Radius.circular(8.0), ), diff --git a/filcnaplo/lib/ui/filter/widgets/certifications.dart b/filcnaplo/lib/ui/filter/widgets/certifications.dart index a7d0317..b754574 100644 --- a/filcnaplo/lib/ui/filter/widgets/certifications.dart +++ b/filcnaplo/lib/ui/filter/widgets/certifications.dart @@ -1,18 +1,23 @@ import 'package:filcnaplo/ui/date_widget.dart'; import 'package:filcnaplo_kreta_api/models/grade.dart'; -import 'package:filcnaplo_mobile_ui/common/widgets/cretification/certification_card.dart' as mobile; +import 'package:filcnaplo_mobile_ui/common/widgets/cretification/certification_card.dart' + as mobile; +import 'package:uuid/uuid.dart'; List getWidgets(List providerGrades) { List items = []; for (var gradeType in GradeType.values) { - if ([GradeType.midYear, GradeType.unknown, GradeType.levelExam].contains(gradeType)) continue; + if ([GradeType.midYear, GradeType.unknown, GradeType.levelExam] + .contains(gradeType)) continue; - List grades = providerGrades.where((grade) => grade.type == gradeType).toList(); + List grades = + providerGrades.where((grade) => grade.type == gradeType).toList(); if (grades.isNotEmpty) { grades.sort((a, b) => -a.date.compareTo(b.date)); items.add(DateWidget( date: grades.first.date, + key: 'certification${const Uuid().v4()}', widget: mobile.CertificationCard( grades, gradeType: gradeType, diff --git a/filcnaplo_mobile_ui/lib/common/widgets/cretification/certification_card.dart b/filcnaplo_mobile_ui/lib/common/widgets/cretification/certification_card.dart index 016dbfb..334053b 100755 --- a/filcnaplo_mobile_ui/lib/common/widgets/cretification/certification_card.dart +++ b/filcnaplo_mobile_ui/lib/common/widgets/cretification/certification_card.dart @@ -8,7 +8,8 @@ import 'package:flutter_feather_icons/flutter_feather_icons.dart'; import 'certification_card.i18n.dart'; class CertificationCard extends StatelessWidget { - const CertificationCard(this.grades, {super.key, required this.gradeType, this.padding}); + const CertificationCard(this.grades, + {super.key, required this.gradeType, this.padding}); final List grades; final GradeType gradeType; @@ -19,7 +20,9 @@ class CertificationCard extends StatelessWidget { String title = getGradeTypeTitle(gradeType); double average = AverageHelper.averageEvals(grades, finalAvg: true); String averageText = average.toStringAsFixed(1); - if (I18n.of(context).locale.languageCode != "en") averageText = averageText.replaceAll(".", ","); + if (I18n.of(context).locale.languageCode != "en") { + averageText = averageText.replaceAll(".", ","); + } Color color = gradeColor(context: context, value: average); Color textColor; @@ -30,7 +33,8 @@ class CertificationCard extends StatelessWidget { } return Padding( - padding: padding ?? const EdgeInsets.symmetric(vertical: 2.0, horizontal: 8.0), + padding: + padding ?? const EdgeInsets.symmetric(vertical: 2.0, horizontal: 6.0), child: Container( decoration: BoxDecoration( borderRadius: BorderRadius.circular(12.0), @@ -42,8 +46,10 @@ class CertificationCard extends StatelessWidget { type: MaterialType.transparency, borderRadius: BorderRadius.circular(12.0), child: ListTile( - contentPadding: const EdgeInsets.symmetric(vertical: 4.0, horizontal: 16.0), - shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12.0)), + contentPadding: + const EdgeInsets.symmetric(vertical: 4.0, horizontal: 16.0), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(12.0)), leading: Text( averageText, style: TextStyle( @@ -73,7 +79,8 @@ class CertificationCard extends StatelessWidget { ), ), trailing: Icon(FeatherIcons.arrowRight, color: textColor), - onTap: () => CertificationView.show(grades, context: context, gradeType: gradeType), + onTap: () => CertificationView.show(grades, + context: context, gradeType: gradeType), ), ), ),