From e40d9a1138da0242a5a0677c13fe2e97ea5f4e08 Mon Sep 17 00:00:00 2001 From: WaseemAbbasi22 Date: Tue, 16 Sep 2025 09:53:44 +0300 Subject: [PATCH] ATOMS-1025, ATOMS-937 and some color fixes for dark mode --- .../tasks_wo/update_task_request_view.dart | 31 +--- lib/new_views/app_style/app_color.dart | 29 ++-- .../widgets/images/multi_image_picker.dart | 145 +++++++++--------- 3 files changed, 99 insertions(+), 106 deletions(-) diff --git a/lib/modules/tm_module/tasks_wo/update_task_request_view.dart b/lib/modules/tm_module/tasks_wo/update_task_request_view.dart index 39e8f284..fdb533df 100644 --- a/lib/modules/tm_module/tasks_wo/update_task_request_view.dart +++ b/lib/modules/tm_module/tasks_wo/update_task_request_view.dart @@ -230,38 +230,18 @@ class _UpdateTaskRequestState extends State { TaskJobActivityEngineerTimer( id: 0, startDate: timer.startAt!.toIso8601String(), - // Handle potential null endDate: timer.endAt?.toIso8601String(), - // Handle potential null totalWorkingHour: ((durationInSecond) / 60 / 60), - // comment: timer.comments, comment: timer.comments ?? comments), ); }); -// TODO need to test this when task is enabled ... - // await taskRequestProvider.updateTaskByEngineer().then((success) { - // Navigator.pop(context); - // if (success) { - // if (status == 1) { - // AllRequestsProvider allRequestsProvider = Provider.of(context, listen: false); - // allRequestsProvider.reset(); - // allRequestsProvider.getAllRequests(context, typeTransaction: 6); - // } else { - // taskRequestProvider.getTaskById(id: widget.taskId, showLoading: false); - // - // } - // Navigator.pop(context); - // Navigator.pop(context); - // } - // }); - - await taskRequestProvider.updateTaskByEngineer().whenComplete(() async { - if (taskRequestProvider.stateCode == 200) { + await taskRequestProvider.updateTaskByEngineer().then((success) async { + if (success) { if (status == 1) { AllRequestsProvider allRequestsProvider = Provider.of(context, listen: false); allRequestsProvider.reset(); - await allRequestsProvider.getAllRequests(context, typeTransaction: 6); + await allRequestsProvider.getAllRequests(context, typeTransaction: taskRequestProvider.taskRequestModel?.taskType?.id); Navigator.pop(context); Navigator.pop(context); Navigator.pop(context); @@ -469,7 +449,8 @@ class _UpdateTaskRequestState extends State { setState(() {}); } }, - ) + ), + 8.height, ], ], ); @@ -528,6 +509,7 @@ class _UpdateTaskRequestState extends State { AppTimer( label: context.translation.timer, timer: taskProvider.taskRequestModel?.taskTimerModel, + pickerFromDate: DateTime.tryParse(widget.createdDate ?? ''), width: double.infinity, enabled: isTimerEnable, decoration: BoxDecoration( @@ -538,7 +520,6 @@ class _UpdateTaskRequestState extends State { onPick: (time) { taskProvider.taskRequestModel?.taskTimePicker = time; }, - timerProgress: (isRunning) {}, onChange: (timer) async { taskProvider.updateTaskTimer(timer: timer); return true; diff --git a/lib/new_views/app_style/app_color.dart b/lib/new_views/app_style/app_color.dart index 22a12370..7b7df7d4 100644 --- a/lib/new_views/app_style/app_color.dart +++ b/lib/new_views/app_style/app_color.dart @@ -96,11 +96,16 @@ class AppColor { static Color yellowIcon(BuildContext context) => context.isDark ? const Color(0xffFFC945) : orange70; static Color background(BuildContext context) => context.isDark ? neutral60 : Colors.white; - static Color textColor(BuildContext context) =>context.isDark ? AppColor.neutral30 : AppColor.neutral50; - static Color headingTextColor(BuildContext context) =>context.isDark ? AppColor.neutral30 : AppColor.black10; - static Color lightTextColor(BuildContext context) =>AppColor.neutral120; - static Color iconColor(BuildContext context) =>context.isDark ? AppColor.neutral30 : AppColor.neutral50; - static Color fieldBgColor(BuildContext context) => context.isDark ? AppColor.neutral20 : AppColor.neutral100; + + static Color textColor(BuildContext context) => context.isDark ? neutral30 : neutral50; + + static Color headingTextColor(BuildContext context) => context.isDark ? neutral30 : black10; + + static Color lightTextColor(BuildContext context) => neutral120; + + static Color iconColor(BuildContext context) => context.isDark ? neutral30 : neutral50; + + static Color fieldBgColor(BuildContext context) => context.isDark ? neutral20 : neutral100; static Color selectedButtonColor(BuildContext context) => context.isDark ? neutral60 : neutral30; @@ -143,18 +148,19 @@ class AppColor { return Colors.white; } } + static Color getActivityTypeBgColor(String type) { - switch (type) { + switch (type) { case "Internal": return neutral50; case "External": return white90; default: - return primary10; } } -static Color getActivityTypeTextColor(String type) { + + static Color getActivityTypeTextColor(String type) { switch (type) { case "Internal": return white10; @@ -280,16 +286,17 @@ static Color getActivityTypeTextColor(String type) { return blueStatus(context); } } + static Color getEquipmentStatusColor(BuildContext context, int id) { switch (id) { case 368: - //partially Down + //partially Down return greenStatus(context); case 369: - // Completely Down + // Completely Down return redStatus(context); case 790: - //UP + //UP return blueStatus(context); default: return blueStatus(context); diff --git a/lib/views/widgets/images/multi_image_picker.dart b/lib/views/widgets/images/multi_image_picker.dart index a597ca27..fbeeb9ce 100644 --- a/lib/views/widgets/images/multi_image_picker.dart +++ b/lib/views/widgets/images/multi_image_picker.dart @@ -487,7 +487,8 @@ class _AttachmentPickerState extends State { return Container( padding: const EdgeInsets.all(12), decoration: BoxDecoration( - color: Colors.white, + color: AppColor.background(context), + // color: Colors.white, borderRadius: BorderRadius.circular(12), border: Border.all(color: const Color(0xffF1F1F1), width: 1), ), @@ -495,7 +496,7 @@ class _AttachmentPickerState extends State { crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - icon.toSvgAsset(color: const Color(0xff7D859A), width: 36, height: 36), + icon.toSvgAsset(color: AppColor.iconColor(context), width: 36, height: 36), // Icon(iconData, color: const Color(0xff7D859A), size: 36), Text( label, @@ -508,74 +509,78 @@ class _AttachmentPickerState extends State { return SafeArea( top: false, - child: Column( - mainAxisSize: MainAxisSize.min, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - "Attach File".heading4(context), - 12.height, - GridView( - padding: const EdgeInsets.all(0), - shrinkWrap: true, - physics: const NeverScrollableScrollPhysics(), - gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 3, childAspectRatio: 1, crossAxisSpacing: 12, mainAxisSpacing: 12), - children: [ - listCard( - icon: 'camera_icon', - label: '${context.translation.open}\n${context.translation.camera}', - onTap: () { - Navigator.of(context).pop(ImageSource.camera); - }, - ), - listCard( - icon: 'gallery_icon', - label: '${context.translation.open}\n${context.translation.gallery}', - onTap: () { - Navigator.of(context).pop(ImageSource.gallery); - }, - ), - listCard( - icon: 'file_icon', - label: '${context.translation.open}\n${context.translation.files}', - onTap: () async { - await fromFilePicker(); - Navigator.pop(context); - }, - ), - ], - ), - // Container( - // padding: const EdgeInsets.all(16.0), - // child: Row( - // mainAxisAlignment: MainAxisAlignment.spaceBetween, - // children: [ - // listCard( - // icon: 'camera_icon', - // label: '${context.translation.open}\n${context.translation.camera}', - // onTap: () { - // Navigator.of(context).pop(ImageSource.camera); - // }, - // ), - // listCard( - // icon: 'gallery_icon', - // label: '${context.translation.open}\n${context.translation.gallery}', - // onTap: () { - // Navigator.of(context).pop(ImageSource.gallery); - // }, - // ), - // listCard( - // icon: 'file_icon', - // label: '${context.translation.open}\n${context.translation.files}', - // onTap: () async { - // await fromFilePicker(); - // Navigator.pop(context); - // }, - // ), - // ], - // ), - // ), - ], - ).paddingAll(16), + child: Container( + width: double.infinity, + color: AppColor.background(context), + child: Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + "Attach File".heading4(context), + 12.height, + GridView( + padding: const EdgeInsets.all(0), + shrinkWrap: true, + physics: const NeverScrollableScrollPhysics(), + gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 3, childAspectRatio: 1, crossAxisSpacing: 12, mainAxisSpacing: 12), + children: [ + listCard( + icon: 'camera_icon', + label: '${context.translation.open}\n${context.translation.camera}', + onTap: () { + Navigator.of(context).pop(ImageSource.camera); + }, + ), + listCard( + icon: 'gallery_icon', + label: '${context.translation.open}\n${context.translation.gallery}', + onTap: () { + Navigator.of(context).pop(ImageSource.gallery); + }, + ), + listCard( + icon: 'file_icon', + label: '${context.translation.open}\n${context.translation.files}', + onTap: () async { + await fromFilePicker(); + Navigator.pop(context); + }, + ), + ], + ), + // Container( + // padding: const EdgeInsets.all(16.0), + // child: Row( + // mainAxisAlignment: MainAxisAlignment.spaceBetween, + // children: [ + // listCard( + // icon: 'camera_icon', + // label: '${context.translation.open}\n${context.translation.camera}', + // onTap: () { + // Navigator.of(context).pop(ImageSource.camera); + // }, + // ), + // listCard( + // icon: 'gallery_icon', + // label: '${context.translation.open}\n${context.translation.gallery}', + // onTap: () { + // Navigator.of(context).pop(ImageSource.gallery); + // }, + // ), + // listCard( + // icon: 'file_icon', + // label: '${context.translation.open}\n${context.translation.files}', + // onTap: () async { + // await fromFilePicker(); + // Navigator.pop(context); + // }, + // ), + // ], + // ), + // ), + ], + ).paddingAll(16), + ), ); }, );