diff --git a/lib/models/ingredient.dart b/lib/models/ingredient.dart new file mode 100644 index 0000000..a3d775e --- /dev/null +++ b/lib/models/ingredient.dart @@ -0,0 +1,11 @@ +class Ingredient { + final String title; + List possibleUnits = []; + List preferredBrands = []; + + Ingredient({ + required this.title, + required this.possibleUnits, + required this.preferredBrands, + }); +} diff --git a/lib/models/recipe.dart b/lib/models/recipe.dart new file mode 100644 index 0000000..97db025 --- /dev/null +++ b/lib/models/recipe.dart @@ -0,0 +1,18 @@ +import 'ingredient.dart'; +import 'steps.dart'; + +class Recipe { + final String title; + final String description; + final Difficulty? difficulty; + final List ingredients = []; + final Steps steps = Steps(); + + Recipe({ + required this.title, + this.description = '', + this.difficulty, + }); +} + +enum Difficulty { veryEasy, easy, intermediate, hard, veryHard } diff --git a/lib/models/steps.dart b/lib/models/steps.dart new file mode 100644 index 0000000..a97346a --- /dev/null +++ b/lib/models/steps.dart @@ -0,0 +1,13 @@ +/// Used to display the steps required to cook the referenced recipe +class Steps { + final List steps = []; + + void add(CookingStep step) => steps.add(step); +} + +class CookingStep { + final String title; + final String description; + + CookingStep({required this.title, this.description = ''}); +}