accept essen name

This commit is contained in:
Jonas Braus
2024-11-29 01:31:54 +01:00
parent d2fd80aa0e
commit eb4206ea4b
2 changed files with 50 additions and 23 deletions
+44 -17
View File
@@ -2,17 +2,16 @@ import 'package:flutter/material.dart';
import 'package:mensaappbackend/modules/ratingCard.dart'; import 'package:mensaappbackend/modules/ratingCard.dart';
class BuilderTodayAverage { 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( Widget card = Container(
decoration: BoxDecoration( decoration: BoxDecoration(boxShadow: [
boxShadow: [
BoxShadow( BoxShadow(
color: Colors.grey.withOpacity(0.5), color: Colors.grey.withOpacity(0.5),
spreadRadius: 5, spreadRadius: 5,
blurRadius: 7, blurRadius: 7,
offset: const Offset(0, 3)) offset: const Offset(0, 3))
] ]),
),
child: RatingCard( child: RatingCard(
rating1: q1, rating1: q1,
rating2: q2, rating2: q2,
@@ -39,16 +38,35 @@ class BuilderTodayAverage {
var avgP2 = [0.0, 0.0, 0]; var avgP2 = [0.0, 0.0, 0];
var avgP3 = [0.0, 0.0, 0]; var avgP3 = [0.0, 0.0, 0];
var foodMap = { var foodIdx = 1;
1: avgP1F1, var foodNameMap = {};
2: avgP1F2,
3: avgP1F3 var foodMap = {1: avgP1F1, 2: avgP1F2, 3: avgP1F3};
};
for (var map in data) { for (var map in data) {
var ratings = map["ratings"]; 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]?[0] += page1["q1"];
foodMap[food]?[1] += page1["q2"]; foodMap[food]?[1] += page1["q2"];
@@ -61,11 +79,17 @@ class BuilderTodayAverage {
avgP3[2] += page3["q1"] == 0 ? 0 : 1; avgP3[2] += page3["q1"] == 0 ? 0 : 1;
} }
print(foodMap[1]);
for (var i in [1, 2, 3]) { for (var i in [1, 2, 3]) {
foodMap[i]?[0] = (foodMap[i]![0] / foodMap[i]![2] == 0 ? 1 : foodMap[i]![2]).toInt(); foodMap[i]?[0] =
foodMap[i]?[1] = (foodMap[i]![1] / foodMap[i]![2] == 0 ? 1 : foodMap[i]![2]).toInt(); (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[0] = (avgP2[0] / avgP2[2]).toInt();
avgP2[1] = (avgP2[1] / avgP2[2]).toInt(); avgP2[1] = (avgP2[1] / avgP2[2]).toInt();
avgP3[0] = (avgP3[0] / avgP3[2]).toInt(); avgP3[0] = (avgP3[0] / avgP3[2]).toInt();
@@ -92,9 +116,12 @@ class BuilderTodayAverage {
crossAxisAlignment: WrapCrossAlignment.center, crossAxisAlignment: WrapCrossAlignment.center,
alignment: WrapAlignment.center, alignment: WrapAlignment.center,
children: [ children: [
_getRatingWidget(avgP1F1[0], avgP1F1[1], "page1", 1, ratingNames), _getRatingWidget(avgP1F1[0], avgP1F1[1], "page1",
_getRatingWidget(avgP1F2[0], avgP1F2[1], "page1", 2, ratingNames), foodNameMap.keys.elementAtOrNull(0), ratingNames),
_getRatingWidget(avgP1F3[0], avgP1F3[1], "page1", 3, 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(avgP2[0], avgP2[1], "page2", -1, ratingNames),
_getRatingWidget(avgP3[0], avgP3[1], "page3", -1, ratingNames) _getRatingWidget(avgP3[0], avgP3[1], "page3", -1, ratingNames)
], ],
+1 -1
View File
@@ -3,7 +3,7 @@ import 'package:mensaappbackend/modules/builderToday.dart';
import 'package:mensaappbackend/modules/builderTodayAverage.dart'; import 'package:mensaappbackend/modules/builderTodayAverage.dart';
class ViewProvider extends ChangeNotifier { class ViewProvider extends ChangeNotifier {
var selectedView = 1; var selectedView = 0;
var views = { var views = {
0: (context, snapshot, ratingNames) => BuilderToday.build(context, snapshot, ratingNames), 0: (context, snapshot, ratingNames) => BuilderToday.build(context, snapshot, ratingNames),