added super simple ingredients overview to addPizzaEventPage

This commit is contained in:
broodjeaap89 2021-07-10 21:44:14 +02:00
parent e31edd91af
commit 20e2f8e696
5 changed files with 39 additions and 1 deletions

View file

@ -1,7 +1,24 @@
import 'package:flutter/material.dart';
import 'package:pizzaplanner/util.dart';
class Ingredient { class Ingredient {
final String name; final String name;
final String unit; final String unit;
final double value; final double value;
Ingredient(this.name, this.unit, this.value); Ingredient(this.name, this.unit, this.value);
Widget getIngredientWidget(int weight){
return Row(
children: <Widget>[
Text("${this.name}: "),
Text("${this.getAbsolute(weight)}$unit")
],
);
}
int getAbsolute(int weight) {
return (this.value * weight).toInt();
}
} }

View file

@ -1,3 +1,4 @@
import 'package:flutter/material.dart';
import 'package:pizzaplanner/entities/PizzaRecipe/Ingredient.dart'; import 'package:pizzaplanner/entities/PizzaRecipe/Ingredient.dart';
class Ingredients { class Ingredients {
@ -5,4 +6,12 @@ class Ingredients {
final String method; final String method;
Ingredients(this.ingredients, this.method); Ingredients(this.ingredients, this.method);
Widget getIngredientsWidget(int weight) {
return Container(
child: Column(
children: ingredients.values.map((ingredient) => ingredient.getIngredientWidget(weight)).toList()
)
);
}
} }

View file

@ -1,3 +1,4 @@
import 'package:flutter/material.dart';
import 'package:pizzaplanner/entities/PizzaRecipe/Ingredient.dart'; import 'package:pizzaplanner/entities/PizzaRecipe/Ingredient.dart';
import 'package:pizzaplanner/entities/PizzaRecipe/Ingredients.dart'; import 'package:pizzaplanner/entities/PizzaRecipe/Ingredients.dart';
@ -15,6 +16,10 @@ class PizzaRecipe {
PizzaRecipe(this.name, this.description, this.ingredients, this.recipeSteps); PizzaRecipe(this.name, this.description, this.ingredients, this.recipeSteps);
Widget getIngredientsWidget(int weight){
return ingredients.getIngredientsWidget(weight);
}
static Future<PizzaRecipe> fromYaml(yamlPath) async{ static Future<PizzaRecipe> fromYaml(yamlPath) async{
String yamlString = await loadAsset(yamlPath); String yamlString = await loadAsset(yamlPath);
var yaml = loadYaml(yamlString); var yaml = loadYaml(yamlString);
@ -39,11 +44,14 @@ class PizzaRecipe {
String stepDescription = step["description"]; String stepDescription = step["description"];
String waitUnit = "none"; String waitUnit = "none";
String waitDescription = "";
int waitMin = 0; int waitMin = 0;
int waitMax = 0; int waitMax = 0;
if (step.containsKey("wait")) { if (step.containsKey("wait")) {
YamlMap waitMap = step["wait"]; YamlMap waitMap = step["wait"];
waitDescription = waitMap["description"];
waitUnit = waitMap["unit"]; waitUnit = waitMap["unit"];
waitMin = waitMap["min"]; waitMin = waitMap["min"];
waitMax = waitMap["max"]; waitMax = waitMap["max"];
@ -57,6 +65,7 @@ class PizzaRecipe {
return RecipeStep( return RecipeStep(
stepName, stepName,
stepDescription, stepDescription,
waitDescription,
waitUnit, waitUnit,
waitMin, waitMin,
waitMax, waitMax,

View file

@ -2,11 +2,12 @@ import 'package:pizzaplanner/entities/PizzaRecipe/RecipeSubStep.dart';
class RecipeStep { class RecipeStep {
final String name; final String name;
final String waitDescription;
final String waitUnit; final String waitUnit;
final int waitMin; final int waitMin;
final int waitMax; final int waitMax;
final String description; final String description;
final List<RecipeSubStep> subSteps; final List<RecipeSubStep> subSteps;
RecipeStep(this.name, this.description, this.waitUnit, this.waitMin, this.waitMax, this.subSteps); RecipeStep(this.name, this.waitDescription, this.description, this.waitUnit, this.waitMin, this.waitMax, this.subSteps);
} }

View file

@ -151,6 +151,8 @@ class AddPizzaEventPageState extends State<AddPizzaEventPage> {
) )
] ]
), ),
Divider(),
this.initialized ? this.pizzaRecipe.getIngredientsWidget(this.doughBallSize * this.pizzaCount) : Container(),
Spacer(), Spacer(),
SizedBox( SizedBox(
width: double.infinity, width: double.infinity,