added long press on pizza recipes page to edit existing recipes
This commit is contained in:
parent
de9e5f8ba6
commit
2048c88d0c
4 changed files with 15 additions and 8 deletions
|
@ -171,7 +171,7 @@ class RouteGenerator {
|
|||
return MaterialPageRoute(builder: (context) => RecipesPage());
|
||||
}
|
||||
case "/recipes/add": {
|
||||
return MaterialPageRoute(builder: (context) => AddRecipePage());
|
||||
return MaterialPageRoute(builder: (context) => AddRecipePage(pizzaRecipe: settings.arguments as PizzaRecipe?));
|
||||
}
|
||||
case "/recipes/add/edit_step": {
|
||||
final recipeStep = settings.arguments as RecipeStep?;
|
||||
|
|
|
@ -9,9 +9,11 @@ import 'package:pizzaplanner/pages/scaffold.dart';
|
|||
import 'package:url_launcher/url_launcher.dart';
|
||||
|
||||
class AddRecipePage extends StatefulWidget {
|
||||
final PizzaRecipe? pizzaRecipe;
|
||||
late final PizzaRecipe? _pizzaRecipe;
|
||||
|
||||
const AddRecipePage({this.pizzaRecipe});
|
||||
AddRecipePage({PizzaRecipe? pizzaRecipe}){
|
||||
_pizzaRecipe = pizzaRecipe;
|
||||
}
|
||||
|
||||
@override
|
||||
AddRecipePageState createState() => AddRecipePageState();
|
||||
|
@ -26,7 +28,7 @@ class AddRecipePageState extends State<AddRecipePage> {
|
|||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
if (widget.pizzaRecipe == null){
|
||||
if (widget._pizzaRecipe == null){
|
||||
pizzaRecipe = PizzaRecipe(
|
||||
"",
|
||||
"",
|
||||
|
@ -38,7 +40,7 @@ class AddRecipePageState extends State<AddRecipePage> {
|
|||
],
|
||||
);
|
||||
} else {
|
||||
pizzaRecipe = widget.pizzaRecipe!;
|
||||
pizzaRecipe = widget._pizzaRecipe!;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -56,7 +58,7 @@ class AddRecipePageState extends State<AddRecipePage> {
|
|||
hintText: "Recipe Name",
|
||||
errorText: nameValidation ? """Name can't be empty""" : null
|
||||
),
|
||||
initialValue: widget.pizzaRecipe?.name,
|
||||
initialValue: widget._pizzaRecipe?.name,
|
||||
onChanged: (String newName) {
|
||||
setState(() {
|
||||
pizzaRecipe.name = newName;
|
||||
|
@ -69,7 +71,7 @@ class AddRecipePageState extends State<AddRecipePage> {
|
|||
hintText: "Recipe Description",
|
||||
errorText: descriptionValidation ? """Description can't be empty""" : null
|
||||
),
|
||||
initialValue: widget.pizzaRecipe?.description,
|
||||
initialValue: widget._pizzaRecipe?.description,
|
||||
maxLines: 8,
|
||||
onChanged: (String newDescription) {
|
||||
setState(() {
|
||||
|
|
|
@ -27,6 +27,8 @@ class RecipesPage extends StatelessWidget {
|
|||
)
|
||||
),
|
||||
const Divider(),
|
||||
const Center(child: Text("Long press to edit")),
|
||||
const Divider(),
|
||||
Expanded(
|
||||
flex: 50,
|
||||
child: ValueListenableBuilder(
|
||||
|
@ -43,6 +45,9 @@ class RecipesPage extends StatelessWidget {
|
|||
onTap: () {
|
||||
Navigator.pushNamed(context, "/recipe/view", arguments: pizzaRecipe);
|
||||
},
|
||||
onLongPress: () {
|
||||
Navigator.pushNamed(context, "/recipes/add", arguments: pizzaRecipe);
|
||||
},
|
||||
child: PizzaRecipeWidget(pizzaRecipe),
|
||||
);
|
||||
},
|
||||
|
|
2
todo.md
2
todo.md
|
@ -1,7 +1,7 @@
|
|||
# TODO
|
||||
|
||||
## Feature
|
||||
- longpress recipe to edit it on recipes page?
|
||||
- add way to remove recipes
|
||||
- add search to recipes page
|
||||
- add directory structure to recipes?
|
||||
- share to/export of yaml of recipes
|
||||
|
|
Loading…
Add table
Reference in a new issue