diff --git a/lib/pages/create_recipe_page.dart b/lib/pages/create_recipe_page.dart index d91181a..d5bae5a 100644 --- a/lib/pages/create_recipe_page.dart +++ b/lib/pages/create_recipe_page.dart @@ -1,15 +1,47 @@ import 'package:flutter/material.dart'; -class CreateRecipe extends StatelessWidget { +import '../models/recipe.dart'; +import '../widgets/difficulty_dropdown.dart'; + +class CreateRecipe extends StatefulWidget { const CreateRecipe({super.key}); static const routeName = '/createRecipe'; + @override + State createState() => _CreateRecipeState(); +} + +class _CreateRecipeState extends State { + Difficulty? _recipeDifficulty; + + TextEditingController titleText = TextEditingController(); + TextEditingController descriptionText = TextEditingController(); + @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: const Text('Create Recipe'), ), + body: Form( + child: Column( + children: [ + TextFormField( + controller: titleText, + decoration: const InputDecoration( + hintText: 'Title', + ), + ), + TextFormField( + controller: descriptionText, + decoration: const InputDecoration( + hintText: 'Description', + ), + ), + const DifficultyDropdown(), + ], + ), + ), ); } } diff --git a/lib/widgets/difficulty_dropdown.dart b/lib/widgets/difficulty_dropdown.dart new file mode 100644 index 0000000..9e5e132 --- /dev/null +++ b/lib/widgets/difficulty_dropdown.dart @@ -0,0 +1,21 @@ +import 'package:flutter/material.dart'; +import 'package:rezepte/models/recipe.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)); + + return DropdownMenu( + dropdownMenuEntries: dropdownMenuEntryList, + ); + } + + DropdownMenuEntry _toDropdownMenuEntry(int index, String text) => + DropdownMenuEntry(value: index, label: text); +}