From 81c1c67b0bf192dce8bf736746b209c6f4cc33c2 Mon Sep 17 00:00:00 2001 From: SomnusVeritas Date: Wed, 15 Nov 2023 14:42:03 +0100 Subject: [PATCH] implemeted way to delete entries --- lib/widgets/todo_listtile.dart | 44 +++++++++++++++++++++++++++++----- 1 file changed, 38 insertions(+), 6 deletions(-) diff --git a/lib/widgets/todo_listtile.dart b/lib/widgets/todo_listtile.dart index acf4291..81fe3f6 100644 --- a/lib/widgets/todo_listtile.dart +++ b/lib/widgets/todo_listtile.dart @@ -11,17 +11,45 @@ class TodoListTile extends StatelessWidget { @override Widget build(BuildContext context) { - if (!todo.done) { - return undoneTodo(context); - } - return doneTodo(context); + final tileColor = todo.done + ? Theme.of(context).colorScheme.surfaceVariant + : Theme.of(context).colorScheme.primaryContainer; + final icon = todo.done + ? Icon( + Icons.delete, + color: Theme.of(context).colorScheme.error, + ) + : Icon( + Icons.check_box, + color: Theme.of(context).colorScheme.primary, + ); + return ListTile( + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)), + tileColor: tileColor, + contentPadding: const EdgeInsets.only(left: 24, right: 12), + title: Text( + todo.title, + maxLines: 2, + overflow: TextOverflow.ellipsis, + ), + onTap: () => _onListTileTapped(context), + trailing: IconButton( + onPressed: onPressed, + icon: icon, + ), + ); } Widget undoneTodo(BuildContext context) { return ListTile( shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)), tileColor: Theme.of(context).colorScheme.primaryContainer, - title: Text(todo.title), + contentPadding: const EdgeInsets.only(left: 24, right: 12), + title: Text( + todo.title, + maxLines: 2, + overflow: TextOverflow.ellipsis, + ), onTap: () => _onListTileTapped(context), trailing: IconButton( onPressed: onPressed, @@ -37,7 +65,11 @@ class TodoListTile extends StatelessWidget { return ListTile( shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)), tileColor: Theme.of(context).colorScheme.surfaceVariant, - title: Text(todo.title), + title: Text( + todo.title, + maxLines: 2, + overflow: TextOverflow.ellipsis, + ), onTap: () => _onListTileTapped(context), trailing: IconButton( onPressed: onPressed,