diff --git a/lib/app/modules/taskc_details/controllers/taskc_details_controller.dart b/lib/app/modules/taskc_details/controllers/taskc_details_controller.dart index 584aa90c..8793a648 100644 --- a/lib/app/modules/taskc_details/controllers/taskc_details_controller.dart +++ b/lib/app/modules/taskc_details/controllers/taskc_details_controller.dart @@ -109,18 +109,18 @@ class TaskcDetailsController extends GetxController { if (date is int) { try { final dt = DateTime.fromMillisecondsSinceEpoch(date * 1000); - return DateFormat('yyyy-MM-dd HH:mm:ss').format(dt); + return DateFormat('yyyy-MM-dd HH:mm:ss').format(dt.toLocal()); } catch (e) { return '-'; } } if (date is DateTime) { - return DateFormat('yyyy-MM-dd HH:mm:ss').format(date); + return DateFormat('yyyy-MM-dd HH:mm:ss').format(date.toLocal()); } final dateString = date?.toString() ?? ''; if (dateString.isEmpty || dateString == '-') return '-'; try { - DateTime parsedDate = DateTime.parse(dateString); + DateTime parsedDate = DateTime.parse(dateString).toLocal(); return DateFormat('yyyy-MM-dd HH:mm:ss').format(parsedDate); } catch (e) { debugPrint('Error parsing date: $dateString'); diff --git a/lib/app/modules/taskc_details/views/taskc_details_view.dart b/lib/app/modules/taskc_details/views/taskc_details_view.dart index eb2b46d9..4bc52258 100644 --- a/lib/app/modules/taskc_details/views/taskc_details_view.dart +++ b/lib/app/modules/taskc_details/views/taskc_details_view.dart @@ -3,6 +3,7 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:google_fonts/google_fonts.dart'; +import 'package:intl/intl.dart'; import 'package:taskwarrior/app/utils/app_settings/app_settings.dart'; import 'package:taskwarrior/app/utils/constants/taskwarrior_colors.dart'; import 'package:taskwarrior/app/utils/themes/theme_extension.dart'; @@ -68,12 +69,21 @@ class TaskcDetailsView extends GetView { ), // Start / Wait: editable date pickers for replica tasks, read-only otherwise if (controller.isReplicaTask) ...[ - _buildDatePickerDetail( - context, - '${SentenceManager(currentLanguage: AppSettings.selectedLanguage).sentences.detailPageStart}:', - controller.start.value, - () => controller.pickDateTime(controller.start), - ), + controller.start.value == '-' + ? _buildDatePickerDetail( + context, + '${SentenceManager(currentLanguage: AppSettings.selectedLanguage).sentences.detailPageStart}:', + controller.start.value, + () => controller.updateField( + controller.start, + DateFormat('yyyy-MM-dd HH:mm:ss') + .format(DateTime.now()), + ), + ) + : _buildDetail( + context, + '${SentenceManager(currentLanguage: AppSettings.selectedLanguage).sentences.detailPageStart}:', + controller.formatDate(controller.start.value)), _buildDatePickerDetail( context, '${SentenceManager(currentLanguage: AppSettings.selectedLanguage).sentences.detailPageWait}:',