diff --git a/lib/modules/builderTodayAverage.dart b/lib/modules/builderTodayAverage.dart index 0247cfd..ef7aab1 100644 --- a/lib/modules/builderTodayAverage.dart +++ b/lib/modules/builderTodayAverage.dart @@ -2,17 +2,16 @@ import 'package:flutter/material.dart'; import 'package:mensaappbackend/modules/ratingCard.dart'; class BuilderTodayAverage { - static Widget _getRatingWidget (var q1, var q2, var page, var essen, var ratingNames) { + static Widget _getRatingWidget( + var q1, var q2, var page, var essen, var ratingNames) { Widget card = Container( - decoration: BoxDecoration( - boxShadow: [ - BoxShadow( - color: Colors.grey.withOpacity(0.5), - spreadRadius: 5, - blurRadius: 7, - offset: const Offset(0, 3)) - ] - ), + decoration: BoxDecoration(boxShadow: [ + BoxShadow( + color: Colors.grey.withOpacity(0.5), + spreadRadius: 5, + blurRadius: 7, + offset: const Offset(0, 3)) + ]), child: RatingCard( rating1: q1, rating2: q2, @@ -39,16 +38,35 @@ class BuilderTodayAverage { var avgP2 = [0.0, 0.0, 0]; var avgP3 = [0.0, 0.0, 0]; - var foodMap = { - 1: avgP1F1, - 2: avgP1F2, - 3: avgP1F3 - }; + var foodIdx = 1; + var foodNameMap = {}; + + var foodMap = {1: avgP1F1, 2: avgP1F2, 3: avgP1F3}; for (var map in data) { var ratings = map["ratings"]; - var food = ratings["page1"]["food"]; - var page1 = ratings["page1"], page2 = ratings["page2"], page3 = ratings["page3"]; + + ratings["page1"]["food"] = ratings["page1"]["food"] + .toString() + .toLowerCase() + .replaceAll("ä", "ae") + .replaceAll("ö", "oe") + .replaceAll("ü", "ue") + .replaceAll("ß", "ss"); + + print(ratings["page1"]["food"]); + + ratings["page1"]["food"] = ratings["page1"]["food"]; + + if (!foodNameMap.containsKey(ratings["page1"]["food"])) { + foodNameMap[ratings["page1"]["food"]] = foodIdx; + foodIdx++; + } + + var food = foodNameMap[ratings["page1"]["food"]]; + var page1 = ratings["page1"], + page2 = ratings["page2"], + page3 = ratings["page3"]; foodMap[food]?[0] += page1["q1"]; foodMap[food]?[1] += page1["q2"]; @@ -61,11 +79,17 @@ class BuilderTodayAverage { avgP3[2] += page3["q1"] == 0 ? 0 : 1; } + print(foodMap[1]); + for (var i in [1, 2, 3]) { - foodMap[i]?[0] = (foodMap[i]![0] / foodMap[i]![2] == 0 ? 1 : foodMap[i]![2]).toInt(); - foodMap[i]?[1] = (foodMap[i]![1] / foodMap[i]![2] == 0 ? 1 : foodMap[i]![2]).toInt(); + foodMap[i]?[0] = + (foodMap[i]![0] / (foodMap[i]![2] == 0 ? 1 : foodMap[i]![2])).toInt(); + foodMap[i]?[1] = + (foodMap[i]![1] / (foodMap[i]![2] == 0 ? 1 : foodMap[i]![2])).toInt(); } + print(foodMap[1]); + avgP2[0] = (avgP2[0] / avgP2[2]).toInt(); avgP2[1] = (avgP2[1] / avgP2[2]).toInt(); avgP3[0] = (avgP3[0] / avgP3[2]).toInt(); @@ -92,9 +116,12 @@ class BuilderTodayAverage { crossAxisAlignment: WrapCrossAlignment.center, alignment: WrapAlignment.center, children: [ - _getRatingWidget(avgP1F1[0], avgP1F1[1], "page1", 1, ratingNames), - _getRatingWidget(avgP1F2[0], avgP1F2[1], "page1", 2, ratingNames), - _getRatingWidget(avgP1F3[0], avgP1F3[1], "page1", 3, ratingNames), + _getRatingWidget(avgP1F1[0], avgP1F1[1], "page1", + foodNameMap.keys.elementAtOrNull(0), ratingNames), + _getRatingWidget(avgP1F2[0], avgP1F2[1], "page1", + foodNameMap.keys.elementAtOrNull(1), ratingNames), + _getRatingWidget(avgP1F3[0], avgP1F3[1], "page1", + foodNameMap.keys.elementAtOrNull(2), ratingNames), _getRatingWidget(avgP2[0], avgP2[1], "page2", -1, ratingNames), _getRatingWidget(avgP3[0], avgP3[1], "page3", -1, ratingNames) ], diff --git a/lib/providers/viewProvider.dart b/lib/providers/viewProvider.dart index f4f0a0e..78e2f25 100644 --- a/lib/providers/viewProvider.dart +++ b/lib/providers/viewProvider.dart @@ -3,7 +3,7 @@ import 'package:mensaappbackend/modules/builderToday.dart'; import 'package:mensaappbackend/modules/builderTodayAverage.dart'; class ViewProvider extends ChangeNotifier { - var selectedView = 1; + var selectedView = 0; var views = { 0: (context, snapshot, ratingNames) => BuilderToday.build(context, snapshot, ratingNames),