diff --git a/lib/data/models/task_model.dart b/lib/data/models/task_model.dart index b9dae2fa3..099aef9c9 100644 --- a/lib/data/models/task_model.dart +++ b/lib/data/models/task_model.dart @@ -155,7 +155,7 @@ abstract class TaskTime implements Built { } final dateTime = DateTime.parse(date); - final now = DateTime.now(); + final now = DateTime.now().toUtc(); return TaskTime( startDate: DateTime.utc( @@ -176,7 +176,7 @@ abstract class TaskTime implements Built { } final dateTime = DateTime.parse(date); - final now = DateTime.now(); + final now = DateTime.now().toUtc(); return TaskTime( startDate: startDate, diff --git a/lib/ui/task/edit/task_edit_desktop.dart b/lib/ui/task/edit/task_edit_desktop.dart index 987004830..7284398c3 100644 --- a/lib/ui/task/edit/task_edit_desktop.dart +++ b/lib/ui/task/edit/task_edit_desktop.dart @@ -48,6 +48,7 @@ class _TaskEditDesktopState extends State { int _updatedAt = 0; int _startDateUpdatedAt = 0; int _startTimeUpdatedAt = 0; + int _endDateUpdatedAt = 0; int _endTimeUpdatedAt = 0; int _durationUpdateAt = 0; @@ -346,13 +347,18 @@ class _TaskEditDesktopState extends State { final taskTime = taskTimes[index].copyWithEndDate(date); viewModel.onUpdatedTaskTime(taskTime, index); + setState(() { + _endDateUpdatedAt = + DateTime.now().millisecondsSinceEpoch; + }); }, ), ), Padding( padding: const EdgeInsets.only(right: kTableColumnGap), child: TimePicker( - key: ValueKey('__${_durationUpdateAt}_${index}__'), + key: ValueKey( + '__${_endDateUpdatedAt}_${_durationUpdateAt}_${index}__'), selectedDateTime: taskTimes[index].endDate, isEndTime: true, onSelected: (timeOfDay) { @@ -370,7 +376,7 @@ class _TaskEditDesktopState extends State { padding: const EdgeInsets.only(right: kTableColumnGap), child: DurationPicker( key: ValueKey( - '__${_startTimeUpdatedAt}_${_endTimeUpdatedAt}_${_startDateUpdatedAt}_${index}__'), + '__${_startTimeUpdatedAt}_${_endTimeUpdatedAt}_${_startDateUpdatedAt}_${_endDateUpdatedAt}_${index}__'), onSelected: (Duration duration) { final taskTime = taskTimes[index].copyWithDuration(duration);