From ba90556e6979594bdd1a244bb765f8a9e500875e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Elias=20M=C3=BCller?= Date: Tue, 30 May 2023 19:42:24 +0200 Subject: [PATCH] Redesign grade average calculator --- .../more/gradeAverages/gradeAverage.dart | 25 ++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/lib/screen/pages/more/gradeAverages/gradeAverage.dart b/lib/screen/pages/more/gradeAverages/gradeAverage.dart index ad066f1..4c97f9f 100644 --- a/lib/screen/pages/more/gradeAverages/gradeAverage.dart +++ b/lib/screen/pages/more/gradeAverages/gradeAverage.dart @@ -35,7 +35,8 @@ class _GradeAverageState extends State { IconButton(onPressed: () { showDialog(context: context, builder: (context) { return AlertDialog( - title: const Text("Noten Zurücksetzen?"), + title: const Text("Zurücksetzen?"), + content: const Text("Alle Einträge werden entfernt."), actions: [ TextButton(onPressed: () { Navigator.of(context).pop(); @@ -103,6 +104,8 @@ class _GradeAverageState extends State { const SizedBox(height: 10), const Divider(), const SizedBox(height: 10), + Text(gradeSystem ? "Wähle unten die Anzahl deiner jewiligen Noten aus" : "Wähle unten die Anzahl deiner jeweiligen Punkte aus"), + const SizedBox(height: 10), Expanded( child: ListView.builder( itemBuilder: (context, index) { @@ -113,7 +116,10 @@ class _GradeAverageState extends State { tileColor: grade.isEven ? Colors.transparent : Colors.transparent.withAlpha(50), title: Center( child: Row( + mainAxisAlignment: MainAxisAlignment.center, children: [ + Text(getGradeDisplay(grade)), + const SizedBox(width: 30), IconButton( onPressed: () { setState(() { @@ -124,7 +130,7 @@ class _GradeAverageState extends State { icon: const Icon(Icons.remove), color: Theme.of(context).colorScheme.onSurface, ), - Text(getGradeDisplay(grade)), + Text("${grades.where(isThis).length}", style: const TextStyle(fontSize: 15, fontWeight: FontWeight.bold)), IconButton( onPressed: () { setState(() { @@ -137,7 +143,20 @@ class _GradeAverageState extends State { ], ), ), - trailing: Text("Anzahl: ${grades.where(isThis).length}"), + trailing: Visibility( + maintainState: true, + maintainAnimation: true, + maintainSize: true, + visible: grades.any(isThis), + child: IconButton( + icon: const Icon(Icons.delete), + onPressed: () { + setState(() { + grades.removeWhere(isThis); + }); + }, + ), + ), ), ); },