From acd6fc554517da364aa42c57494710cceffc1afc Mon Sep 17 00:00:00 2001 From: kumarpalsinh25 Date: Fri, 23 Aug 2024 15:16:50 +0530 Subject: [PATCH] Fixes https://github.com/acterglobal/a3-meta/issues/408 --- .../tasks/widgets/task_items_list_widget.dart | 25 ++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/app/lib/features/tasks/widgets/task_items_list_widget.dart b/app/lib/features/tasks/widgets/task_items_list_widget.dart index 0030fbca8164..26ce32d3569a 100644 --- a/app/lib/features/tasks/widgets/task_items_list_widget.dart +++ b/app/lib/features/tasks/widgets/task_items_list_widget.dart @@ -14,21 +14,27 @@ import 'package:logging/logging.dart'; final _log = Logger('a3::tasks::widgets::list'); -class TaskItemsListWidget extends ConsumerWidget { +class TaskItemsListWidget extends ConsumerStatefulWidget { final TaskList taskList; final bool showCompletedTask; - TaskItemsListWidget({ + const TaskItemsListWidget({ super.key, required this.taskList, this.showCompletedTask = false, }); + @override + ConsumerState createState() => + TaskItemsListWidgetState(); +} + +class TaskItemsListWidgetState extends ConsumerState { final ValueNotifier showInlineAddTask = ValueNotifier(false); @override - Widget build(BuildContext context, WidgetRef ref) { - final overviewLoader = ref.watch(taskItemsListProvider(taskList)); + Widget build(BuildContext context) { + final overviewLoader = ref.watch(taskItemsListProvider(widget.taskList)); return overviewLoader.when( data: (overview) => taskData(context, overview), error: (e, s) { @@ -41,6 +47,7 @@ class TaskItemsListWidget extends ConsumerWidget { Widget taskData(BuildContext context, TasksOverview overview) { return Column( + mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.start, children: [ openTasksEntries(context, overview), @@ -60,7 +67,7 @@ class TaskItemsListWidget extends ConsumerWidget { for (final taskId in overview.openTasks) TaskItem( onTap: () => showInlineAddTask.value = false, - taskListId: taskList.eventIdStr(), + taskListId: widget.taskList.eventIdStr(), taskId: taskId, ), ], @@ -68,13 +75,13 @@ class TaskItemsListWidget extends ConsumerWidget { } Widget inlineAddTask() { - final taskListEventId = taskList.eventIdStr(); + final taskListEventId = widget.taskList.eventIdStr(); return ValueListenableBuilder( valueListenable: showInlineAddTask, builder: (context, value, child) { return value ? _InlineTaskAdd( - taskList: taskList, + taskList: widget.taskList, cancel: () => showInlineAddTask.value = false, ) : Container( @@ -94,7 +101,7 @@ class TaskItemsListWidget extends ConsumerWidget { } Widget doneTasksEntries(BuildContext context, TasksOverview overview) { - if (overview.doneTasks.isEmpty || !showCompletedTask) { + if (overview.doneTasks.isEmpty || !widget.showCompletedTask) { return const SizedBox.shrink(); } @@ -112,7 +119,7 @@ class TaskItemsListWidget extends ConsumerWidget { ), for (final taskId in overview.doneTasks) TaskItem( - taskListId: taskList.eventIdStr(), + taskListId: widget.taskList.eventIdStr(), taskId: taskId, onTap: () => showInlineAddTask.value = false, ),