Merge branch 'brokenDateFix' into 'main'
datum in dashboard See merge request brausjonas/mensaappdashboard!2
This commit is contained in:
@@ -18,6 +18,9 @@ class BuilderAverage {
|
|||||||
var tmp_dic = bewertung["ratings"][page];
|
var tmp_dic = bewertung["ratings"][page];
|
||||||
switch (page) {
|
switch (page) {
|
||||||
case "page1":
|
case "page1":
|
||||||
|
if (tmp_dic["food"].length == 0) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
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] = {
|
||||||
@@ -68,7 +71,6 @@ class BuilderAverage {
|
|||||||
finalDic[food]["q1"] = (foodData["q1"] / foodData["counter"]).round().toInt();
|
finalDic[food]["q1"] = (foodData["q1"] / foodData["counter"]).round().toInt();
|
||||||
finalDic[food]?["q2"] = (foodData["q2"] / foodData["counter"]).round().toInt();
|
finalDic[food]?["q2"] = (foodData["q2"] / foodData["counter"]).round().toInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
List<Widget> cards = [];
|
List<Widget> cards = [];
|
||||||
|
|
||||||
if (data == null) {
|
if (data == null) {
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:intl/intl.dart';
|
||||||
import 'package:mensaappbackend/modules/ratingCard.dart';
|
import 'package:mensaappbackend/modules/ratingCard.dart';
|
||||||
import 'package:mensaappbackend/providers/timeProvider.dart';
|
import 'package:mensaappbackend/providers/timeProvider.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
import 'package:intl/intl_browser.dart';
|
||||||
|
|
||||||
class BuilderToday {
|
class BuilderToday {
|
||||||
static Widget build(var context, var snapshot, var ratingNames) {
|
static Widget build(var context, var snapshot, var ratingNames) {
|
||||||
@@ -16,6 +18,10 @@ class BuilderToday {
|
|||||||
var i = 0;
|
var i = 0;
|
||||||
for (var map in data) {
|
for (var map in data) {
|
||||||
var ratings = map["ratings"];
|
var ratings = map["ratings"];
|
||||||
|
var createdAt = map["created_at"];
|
||||||
|
|
||||||
|
// Datum in ein lesbares Format umwandeln
|
||||||
|
var formattedDate = DateFormat('dd.MM.yyyy').format(DateTime.parse(createdAt));
|
||||||
|
|
||||||
List<Widget> children = [];
|
List<Widget> children = [];
|
||||||
for (var key in ratings.keys) {
|
for (var key in ratings.keys) {
|
||||||
@@ -26,8 +32,8 @@ class BuilderToday {
|
|||||||
rating1: rating["q1"],
|
rating1: rating["q1"],
|
||||||
rating2: rating["q2"],
|
rating2: rating["q2"],
|
||||||
text: rating["t1"],
|
text: rating["t1"],
|
||||||
title: ratingNames[key]!["title"]! +
|
title: "$formattedDate\n${ratingNames[key]!["title"]! +
|
||||||
(key == "page1" ? "${rating["food"]}" : ""),
|
(key == "page1" ? "${rating["food"]}" : "")}",
|
||||||
rating1Title: ratingNames[key]!["q1"]!,
|
rating1Title: ratingNames[key]!["q1"]!,
|
||||||
rating2Title: ratingNames[key]!["q2"]!,
|
rating2Title: ratingNames[key]!["q2"]!,
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ class RatingCard extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
child: Column(
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
Text(title, style: TextStyle(fontSize: 22),),
|
Text(title, style: TextStyle(fontSize: 22), textAlign: TextAlign.center,),
|
||||||
SizedBox(height: 10,),
|
SizedBox(height: 10,),
|
||||||
Text("$rating1Title:", style: TextStyle(fontSize: 18),),
|
Text("$rating1Title:", style: TextStyle(fontSize: 18),),
|
||||||
RatingStars(initRating: rating1.toDouble()),
|
RatingStars(initRating: rating1.toDouble()),
|
||||||
|
|||||||
@@ -28,14 +28,14 @@ class PageDashboard extends StatelessWidget {
|
|||||||
3: nowMorning.subtract(const Duration(days: 30)),
|
3: nowMorning.subtract(const Duration(days: 30)),
|
||||||
4: nowMorning.subtract(const Duration(days: 365)),
|
4: nowMorning.subtract(const Duration(days: 365)),
|
||||||
};
|
};
|
||||||
var result = await supabase.from("ratings_database").select("ratings").gte("created_at", morningDict[timeId]!);
|
var result = await supabase.from("ratings_database").select("ratings, created_at").gte("created_at", morningDict[timeId]!);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
final ratingNames = const {
|
final ratingNames = const {
|
||||||
"page1": {"title": "", "q1": "Geschmack", "q2": "Qualität"},
|
"page1": {"title": "", "q1": "Geschmack", "q2": "Qualität"},
|
||||||
"page2": {"title": "Service", "q1": "Undefined", "q2": "Undefined"},
|
"page2": {"title": "Service", "q1": "Freundlichkeit", "q2": "Sauberkeit"},
|
||||||
"page3": {"title": "Wünsche", "q1": "Undefined", "q2": "Undefined"}
|
"page3": {"title": "Wünsche", "q1": "Vielfalt", "q2": "Vegan"}
|
||||||
};
|
};
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ dependencies:
|
|||||||
supabase_flutter: ^2.8.1
|
supabase_flutter: ^2.8.1
|
||||||
flutter_login: ^5.0.0
|
flutter_login: ^5.0.0
|
||||||
flutter_rating_bar: ^4.0.1
|
flutter_rating_bar: ^4.0.1
|
||||||
|
intl: ^0.20.2
|
||||||
|
|
||||||
|
|
||||||
# The following adds the Cupertino Icons font to your application.
|
# The following adds the Cupertino Icons font to your application.
|
||||||
|
|||||||
Reference in New Issue
Block a user