From f6043ce47461ccbfdd2c15cfae51aaa62dcf0e4e Mon Sep 17 00:00:00 2001 From: marco Date: Fri, 12 Jun 2026 14:34:44 +0200 Subject: [PATCH] added ability to delete task --- lib/pages/task_edit_page.dart | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/lib/pages/task_edit_page.dart b/lib/pages/task_edit_page.dart index feacf3e..a5fcc29 100644 --- a/lib/pages/task_edit_page.dart +++ b/lib/pages/task_edit_page.dart @@ -1,7 +1,9 @@ import 'package:flutter/material.dart'; import '../model/callback_models/create_task_request.dart'; +import '../model/extensions/controller_context.dart'; import '../model/task.dart'; +import '../service/task_controller.dart'; import '../service/tools.dart'; import '../service/validators.dart'; @@ -14,6 +16,7 @@ class TaskEditPage extends StatefulWidget { } class _TaskEditPageState extends State { + Task? task; final titleController = TextEditingController(); final descriptionController = TextEditingController(); final categoryController = TextEditingController(); @@ -25,17 +28,17 @@ class _TaskEditPageState extends State { @override void didChangeDependencies() { super.didChangeDependencies(); - final task = ModalRoute.of(context)!.settings.arguments as Task?; + task = ModalRoute.of(context)!.settings.arguments as Task?; if (task != null) { - titleController.text = task.title; - descriptionController.text = task.description; - categoryController.text = task.category; - urlController.text = task.url; - dueDateController.text = task.due != null - ? getIsoDateString(task.due!) + titleController.text = task!.title; + descriptionController.text = task!.description; + categoryController.text = task!.category; + urlController.text = task!.url; + dueDateController.text = task!.due != null + ? getIsoDateString(task!.due!) : ''; - dueTimeController.text = task.due != null - ? TimeOfDay.fromDateTime(task.due!).format(context) + dueTimeController.text = task!.due != null + ? TimeOfDay.fromDateTime(task!.due!).format(context) : ''; } pageTitle = task?.title ?? 'CreateTask'; @@ -44,7 +47,19 @@ class _TaskEditPageState extends State { @override Widget build(BuildContext context) { return Scaffold( - appBar: AppBar(title: Text(pageTitle)), + appBar: AppBar( + title: Text(pageTitle), + actions: [ + if (task != null) + IconButton( + onPressed: () { + context.controller().deleteTask(task!); + Navigator.of(context).pop(); + }, + icon: Icon(Icons.delete), + ), + ], + ), body: Form( autovalidateMode: AutovalidateMode.onUnfocus, child: Column(