From 0b85bb9ba91931b6f6ef08825aa1ddad53c3b3d3 Mon Sep 17 00:00:00 2001 From: Jonas Braus Date: Wed, 15 Jan 2025 21:46:26 +0100 Subject: [PATCH] Es geht haha --- lib/modules/builderAverage.dart | 50 +++++++++++++++++++-------------- 1 file changed, 29 insertions(+), 21 deletions(-) diff --git a/lib/modules/builderAverage.dart b/lib/modules/builderAverage.dart index 28ecec0..06b86c7 100644 --- a/lib/modules/builderAverage.dart +++ b/lib/modules/builderAverage.dart @@ -6,18 +6,21 @@ import 'package:provider/provider.dart'; class BuilderAverage { static Widget build(var context, var snapshot, var ratingNames) { var data = snapshot.data; - //print(data); Map dic = { "page1":{}, "page2": { "q1" : 0, "q2" : 0, + "avg_q1": 0, + "avg_q2": 0, "counter" : 0 }, "page3": { "q1" : 0, "q2" : 0, + "avg_q1": 0, + "avg_q2": 0, "counter" : 0 } }; @@ -27,11 +30,13 @@ class BuilderAverage { var tmp_dic = bewertung["ratings"][page]; switch (page){ case "page1": - var curKey = tmp_dic["food"].split(":")[1]; + var curKey = tmp_dic["food"].split(": ")[1]; if (!dic["page1"]!.containsKey(curKey)){ dic["page1"]![curKey] = { "q1" : 0, "q2" : 0, + "avg_q1": 0, + "avg_q2": 0, "counter" : 0 }; } @@ -55,9 +60,23 @@ class BuilderAverage { } } - print(dic); + Map finalDic = { + "Service": {"q1": 0, "q2": 0, "org": "page2"}, + "Essenswünsche": {"q1": 0, "q2": 0, "org": "page3"} + }; + finalDic["Service"]!["q1"] = dic["page2"]!["q1"] ~/ dic["page2"]!["counter"]; + finalDic["Service"]!["q2"] = dic["page2"]!["q2"] ~/ dic["page2"]!["counter"]; + finalDic["Essenswünsche"]!["q1"] = dic["page3"]!["q1"] ~/ dic["page3"]!["counter"]; + finalDic["Essenswünsche"]!["q2"] = dic["page3"]!["q2"] ~/ dic["page3"]!["counter"]; + + for (var food in dic["page1"]!.keys) { + var foodData = dic["page1"]![food]; + finalDic[food] = {"q1": 0, "q2": 0, "org": "page1"}; + finalDic[food]["q1"] = foodData["q1"] ~/ foodData["counter"]; + finalDic[food]?["q2"] = foodData["q2"] ~/ foodData["counter"]; + } List cards = []; @@ -67,29 +86,25 @@ class BuilderAverage { } var i = 0; - for (var map in data) { - var ratings = map["ratings"]; - + for (var title in finalDic.keys) { List children = []; - for (var key in ratings.keys) { - var rating = ratings[key]; + var rating = finalDic[title]; if (rating["q1"] != 0) { Widget card = RatingCard( rating1: rating["q1"], rating2: rating["q2"], - text: rating["t1"], - title: ratingNames[key]!["title"]! + - (key == "page1" ? "${rating["food"]}" : ""), - rating1Title: ratingNames[key]!["q1"]!, - rating2Title: ratingNames[key]!["q2"]!, + text: "", + title: title, + rating1Title: ratingNames[rating["org"]]!["q1"]!, + rating2Title: ratingNames[rating["org"]]!["q2"]!, ); children.add(card); children.add(const SizedBox( width: 10, )); } - } + cards.add(Column( mainAxisAlignment: MainAxisAlignment.center, @@ -109,13 +124,6 @@ class BuilderAverage { color: Theme.of(context).colorScheme.surface.withOpacity(0.8)), child: Column( children: [ - Text( - "Bewertung $i", - style: const TextStyle(fontSize: 20), - ), - const SizedBox( - height: 10, - ), Wrap( runAlignment: WrapAlignment.center, crossAxisAlignment: WrapCrossAlignment.center,