changed difficulty logic
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
class Difficulty {
|
||||
class DifficultyUtil {
|
||||
static List<String> get difficulties {
|
||||
return List<String>.generate(_Difficulty.values.length,
|
||||
(index) => _Difficulty.values.elementAt(index).name);
|
||||
return List<String>.generate(Difficulty.values.length,
|
||||
(index) => Difficulty.values.elementAt(index).name);
|
||||
}
|
||||
}
|
||||
|
||||
enum _Difficulty { veryEasy, easy, intermediate, hard, veryHard }
|
||||
enum Difficulty { veryEasy, easy, intermediate, hard, veryHard }
|
||||
|
||||
@@ -5,7 +5,7 @@ import 'steps.dart';
|
||||
class Recipe {
|
||||
final String title;
|
||||
final String description;
|
||||
final Difficulty? difficulty;
|
||||
final DifficultyUtil? difficulty;
|
||||
final List<Ingredient> ingredients = [];
|
||||
final Steps steps = Steps();
|
||||
|
||||
|
||||
@@ -40,7 +40,9 @@ class _CreateRecipeState extends State<CreateRecipe> {
|
||||
label: Text('Description'),
|
||||
),
|
||||
),
|
||||
const DifficultyDropdown(),
|
||||
DifficultyDropdown(
|
||||
onChanged: _onChanged,
|
||||
),
|
||||
IngredientsWidget(
|
||||
width: width * 0.9,
|
||||
),
|
||||
@@ -49,4 +51,8 @@ class _CreateRecipeState extends State<CreateRecipe> {
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
void _onChanged(int index) {
|
||||
_recipeDifficulty = Difficulty.values.elementAt(index);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,19 +2,26 @@ import 'package:flutter/material.dart';
|
||||
|
||||
import '../models/difficulty.dart';
|
||||
|
||||
typedef Intcallback = void Function(int);
|
||||
|
||||
class DifficultyDropdown extends StatelessWidget {
|
||||
const DifficultyDropdown({super.key});
|
||||
const DifficultyDropdown({super.key, this.onChanged});
|
||||
final Intcallback? onChanged;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
List<DropdownMenuEntry> dropdownMenuEntryList = Difficulty.difficulties
|
||||
.map(
|
||||
(e) => _toDropdownMenuEntry(Difficulty.difficulties.indexOf(e), e),
|
||||
)
|
||||
List<DropdownMenuEntry> dropdownMenuEntryList = DifficultyUtil.difficulties
|
||||
.map((e) =>
|
||||
_toDropdownMenuEntry(DifficultyUtil.difficulties.indexOf(e), e))
|
||||
.toList();
|
||||
|
||||
return DropdownMenu(
|
||||
dropdownMenuEntries: dropdownMenuEntryList,
|
||||
onSelected: (value) {
|
||||
if (onChanged != null) {
|
||||
onChanged!(value as int);
|
||||
}
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user