Es geht haha

This commit is contained in:
Jonas Braus
2025-01-15 21:46:26 +01:00
parent 28f93e926d
commit 0b85bb9ba9
+29 -21
View File
@@ -6,18 +6,21 @@ import 'package:provider/provider.dart';
class BuilderAverage { class BuilderAverage {
static Widget build(var context, var snapshot, var ratingNames) { static Widget build(var context, var snapshot, var ratingNames) {
var data = snapshot.data; var data = snapshot.data;
//print(data);
Map<String, Map> dic = { Map<String, Map> dic = {
"page1":{}, "page1":{},
"page2": { "page2": {
"q1" : 0, "q1" : 0,
"q2" : 0, "q2" : 0,
"avg_q1": 0,
"avg_q2": 0,
"counter" : 0 "counter" : 0
}, },
"page3": { "page3": {
"q1" : 0, "q1" : 0,
"q2" : 0, "q2" : 0,
"avg_q1": 0,
"avg_q2": 0,
"counter" : 0 "counter" : 0
} }
}; };
@@ -27,11 +30,13 @@ class BuilderAverage {
var tmp_dic = bewertung["ratings"][page]; var tmp_dic = bewertung["ratings"][page];
switch (page){ switch (page){
case "page1": case "page1":
var curKey = tmp_dic["food"].split(":")[1]; var curKey = tmp_dic["food"].split(": ")[1];
if (!dic["page1"]!.containsKey(curKey)){ if (!dic["page1"]!.containsKey(curKey)){
dic["page1"]![curKey] = { dic["page1"]![curKey] = {
"q1" : 0, "q1" : 0,
"q2" : 0, "q2" : 0,
"avg_q1": 0,
"avg_q2": 0,
"counter" : 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<Widget> cards = []; List<Widget> cards = [];
@@ -67,29 +86,25 @@ class BuilderAverage {
} }
var i = 0; var i = 0;
for (var map in data) { for (var title in finalDic.keys) {
var ratings = map["ratings"];
List<Widget> children = []; List<Widget> children = [];
for (var key in ratings.keys) { var rating = finalDic[title];
var rating = ratings[key];
if (rating["q1"] != 0) { if (rating["q1"] != 0) {
Widget card = RatingCard( Widget card = RatingCard(
rating1: rating["q1"], rating1: rating["q1"],
rating2: rating["q2"], rating2: rating["q2"],
text: rating["t1"], text: "",
title: ratingNames[key]!["title"]! + title: title,
(key == "page1" ? "${rating["food"]}" : ""), rating1Title: ratingNames[rating["org"]]!["q1"]!,
rating1Title: ratingNames[key]!["q1"]!, rating2Title: ratingNames[rating["org"]]!["q2"]!,
rating2Title: ratingNames[key]!["q2"]!,
); );
children.add(card); children.add(card);
children.add(const SizedBox( children.add(const SizedBox(
width: 10, width: 10,
)); ));
} }
}
cards.add(Column( cards.add(Column(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
@@ -109,13 +124,6 @@ class BuilderAverage {
color: Theme.of(context).colorScheme.surface.withOpacity(0.8)), color: Theme.of(context).colorScheme.surface.withOpacity(0.8)),
child: Column( child: Column(
children: [ children: [
Text(
"Bewertung $i",
style: const TextStyle(fontSize: 20),
),
const SizedBox(
height: 10,
),
Wrap( Wrap(
runAlignment: WrapAlignment.center, runAlignment: WrapAlignment.center,
crossAxisAlignment: WrapCrossAlignment.center, crossAxisAlignment: WrapCrossAlignment.center,