67 lines
2.2 KiB
Dart
67 lines
2.2 KiB
Dart
|
import 'package:flutter/material.dart';
|
||
|
import 'package:cookbook/screens/create_recipe_screen/createrecipe_controller.dart';
|
||
|
|
||
|
class CreateRecipeScreen extends StatefulWidget {
|
||
|
const CreateRecipeScreen({Key? key}) : super(key: key);
|
||
|
|
||
|
@override
|
||
|
// ignore: library_private_types_in_public_api
|
||
|
_CreateRecipeScreenState createState() => _CreateRecipeScreenState();
|
||
|
}
|
||
|
|
||
|
class _CreateRecipeScreenState extends State<CreateRecipeScreen> {
|
||
|
final createRecipeController = CreateRecipeController();
|
||
|
|
||
|
@override
|
||
|
Widget build(BuildContext context) {
|
||
|
return Scaffold(
|
||
|
appBar: AppBar(
|
||
|
title: const Text('Add Recipe'),
|
||
|
),
|
||
|
body: SingleChildScrollView(
|
||
|
child: Padding(
|
||
|
padding: const EdgeInsets.all(16.0),
|
||
|
child: Column(
|
||
|
crossAxisAlignment: CrossAxisAlignment.stretch,
|
||
|
children: [
|
||
|
TextField(
|
||
|
controller: createRecipeController.labelController,
|
||
|
decoration: const InputDecoration(
|
||
|
labelText: 'Label',
|
||
|
),
|
||
|
),
|
||
|
const SizedBox(height: 16.0),
|
||
|
TextField(
|
||
|
controller: createRecipeController.ingredientsLinesController,
|
||
|
decoration: const InputDecoration(
|
||
|
labelText: 'Ingredients',
|
||
|
),
|
||
|
),
|
||
|
ElevatedButton(
|
||
|
onPressed: () {
|
||
|
setState(() {
|
||
|
createRecipeController.ingredientLinesList.add(createRecipeController.ingredientsLinesController.text);
|
||
|
});
|
||
|
createRecipeController.ingredientsLinesController.clear();
|
||
|
},
|
||
|
child: const Text('Add to list'),
|
||
|
),
|
||
|
TextField(
|
||
|
controller: createRecipeController.imageUrlController,
|
||
|
decoration: const InputDecoration(
|
||
|
labelText: 'imageUrl',
|
||
|
),
|
||
|
maxLines: null,
|
||
|
),
|
||
|
const SizedBox(height: 16.0),
|
||
|
ElevatedButton(
|
||
|
onPressed: createRecipeController.addRecipe,
|
||
|
child: const Text('Add Recipe'),
|
||
|
),
|
||
|
],
|
||
|
),
|
||
|
),
|
||
|
),
|
||
|
);
|
||
|
}
|
||
|
}
|