From c12271cbc2d042d132c25206aafd12b0f138f584 Mon Sep 17 00:00:00 2001 From: SomnusVeritas Date: Mon, 2 Oct 2023 20:10:09 +0200 Subject: [PATCH] added difficulty class and dropdown --- lib/models/difficulty.dart | 8 ++++++++ lib/models/recipe.dart | 3 +-- lib/pages/create_recipe_page.dart | 2 +- lib/widgets/difficulty_dropdown.dart | 11 +++++++---- 4 files changed, 17 insertions(+), 7 deletions(-) create mode 100644 lib/models/difficulty.dart diff --git a/lib/models/difficulty.dart b/lib/models/difficulty.dart new file mode 100644 index 0000000..288b17b --- /dev/null +++ b/lib/models/difficulty.dart @@ -0,0 +1,8 @@ +class Difficulty { + static List get difficulties { + return List.generate(_Difficulty.values.length, + (index) => _Difficulty.values.elementAt(index).name); + } +} + +enum _Difficulty { veryEasy, easy, intermediate, hard, veryHard } diff --git a/lib/models/recipe.dart b/lib/models/recipe.dart index 97db025..bbb0b7a 100644 --- a/lib/models/recipe.dart +++ b/lib/models/recipe.dart @@ -1,3 +1,4 @@ +import 'difficulty.dart'; import 'ingredient.dart'; import 'steps.dart'; @@ -14,5 +15,3 @@ class Recipe { this.difficulty, }); } - -enum Difficulty { veryEasy, easy, intermediate, hard, veryHard } diff --git a/lib/pages/create_recipe_page.dart b/lib/pages/create_recipe_page.dart index d5bae5a..4b695a2 100644 --- a/lib/pages/create_recipe_page.dart +++ b/lib/pages/create_recipe_page.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; -import '../models/recipe.dart'; +import '../models/difficulty.dart'; import '../widgets/difficulty_dropdown.dart'; class CreateRecipe extends StatefulWidget { diff --git a/lib/widgets/difficulty_dropdown.dart b/lib/widgets/difficulty_dropdown.dart index 9e5e132..50452c2 100644 --- a/lib/widgets/difficulty_dropdown.dart +++ b/lib/widgets/difficulty_dropdown.dart @@ -1,15 +1,18 @@ import 'package:flutter/material.dart'; import 'package:rezepte/models/recipe.dart'; +import '../models/difficulty.dart'; + class DifficultyDropdown extends StatelessWidget { const DifficultyDropdown({super.key}); @override Widget build(BuildContext context) { - List dropdownMenuEntryList = List.generate( - Difficulty.values.length, - (index) => _toDropdownMenuEntry( - index, Difficulty.values.elementAt(index).name)); + List dropdownMenuEntryList = Difficulty.difficulties + .map( + (e) => _toDropdownMenuEntry(Difficulty.difficulties.indexOf(e), e), + ) + .toList(); return DropdownMenu( dropdownMenuEntries: dropdownMenuEntryList,