forked from firka/firka
revert: rounded subject average
This commit is contained in:
@@ -114,6 +114,7 @@ class _HomeGradesScreen extends FirkaState<HomeGradesScreen> {
|
|||||||
final allLessons = lessons!.response!;
|
final allLessons = lessons!.response!;
|
||||||
|
|
||||||
final subjectAverage = allGrades.getSubjectAverage();
|
final subjectAverage = allGrades.getSubjectAverage();
|
||||||
|
final roundedSubjectAverage = allGrades.getRoundedSubjectAverage();
|
||||||
final classAverages = classAvgs!.response!
|
final classAverages = classAvgs!.response!
|
||||||
.map((c) => c.classGroupAverage)
|
.map((c) => c.classGroupAverage)
|
||||||
.nonNulls;
|
.nonNulls;
|
||||||
@@ -223,6 +224,39 @@ class _HomeGradesScreen extends FirkaState<HomeGradesScreen> {
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
FirkaCard(
|
||||||
|
left: [
|
||||||
|
Text(
|
||||||
|
widget.data.l10n.subject_avg_rounded,
|
||||||
|
style: appStyle.fonts.B_16SB.apply(
|
||||||
|
color: appStyle.colors.textPrimary,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
right: [
|
||||||
|
if (roundedSubjectAverage != null)
|
||||||
|
Container(
|
||||||
|
width: 48,
|
||||||
|
height: 26,
|
||||||
|
decoration: ShapeDecoration(
|
||||||
|
color: getGradeColor(
|
||||||
|
roundedSubjectAverage,
|
||||||
|
).withAlpha(38),
|
||||||
|
shape: RoundedRectangleBorder(
|
||||||
|
borderRadius: BorderRadius.circular(12),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
child: Center(
|
||||||
|
child: Text(
|
||||||
|
roundedSubjectAverage.toStringAsFixed(2),
|
||||||
|
style: appStyle.fonts.B_16R.apply(
|
||||||
|
color: getGradeColor(roundedSubjectAverage),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
FirkaCard(
|
FirkaCard(
|
||||||
left: [
|
left: [
|
||||||
Text(
|
Text(
|
||||||
|
|||||||
@@ -64,6 +64,27 @@ extension GradeListExtension on Iterable<Grade> {
|
|||||||
).getAverage();
|
).getAverage();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
double? getRoundedSubjectAverage({
|
||||||
|
double t1 = 1,
|
||||||
|
double t2 = 0.5,
|
||||||
|
double t3 = 0.5,
|
||||||
|
double t4 = 0.5,
|
||||||
|
}) {
|
||||||
|
final averages = map((g) => g.subject).toSet().map((subject) {
|
||||||
|
final average = getAverageBySubject(subject);
|
||||||
|
if (average == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return roundGrade(average, t1: t1, t2: t2, t3: t3, t4: t4);
|
||||||
|
}).nonNulls;
|
||||||
|
|
||||||
|
if (averages.isEmpty) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return averages.reduce((sum, avg) => sum + avg) / averages.length;
|
||||||
|
}
|
||||||
|
|
||||||
double? getSubjectAverage() {
|
double? getSubjectAverage() {
|
||||||
final averages = map(
|
final averages = map(
|
||||||
(g) => g.subject,
|
(g) => g.subject,
|
||||||
|
|||||||
Reference in New Issue
Block a user