diff --git a/lib/controllers/api_routes/urls.dart b/lib/controllers/api_routes/urls.dart index 69ce1d3b..c6a249ed 100644 --- a/lib/controllers/api_routes/urls.dart +++ b/lib/controllers/api_routes/urls.dart @@ -4,7 +4,7 @@ class URLs { static const String appReleaseBuildNumber = "40"; // static const host1 = "https://atomsm.hmg.com"; // production url - static const host1 = "https://atomsmdev.hmg.com"; // local DEV urld + static const host1 = "https://atomsmdev.hmg.com"; // local DEV url // static const host1 = "https://atomsmuat.hmg.com"; // local UAT url static final String _baseUrl = "$_host/mobile"; // host local UAT diff --git a/lib/dashboard_latest/widgets/request_category_fragment.dart b/lib/dashboard_latest/widgets/request_category_fragment.dart index a98dce35..9207a172 100644 --- a/lib/dashboard_latest/widgets/request_category_fragment.dart +++ b/lib/dashboard_latest/widgets/request_category_fragment.dart @@ -146,6 +146,9 @@ class _RequestCategoryFragmentState extends State { isSelected: requestsProvider.currentListIndex == index, count: requestsProvider.requestDetailList != null ? requestsProvider.requestDetailList!.count ?? 0 : 0, onPressed: () async { + setState(() { + isAscending=false; + }); requestsProvider.currentListIndex = index; requestsProvider.resetRequestDataList(); requestsProvider.getRequestDetail(usersType: userType ?? UsersTypes.normal_user, showLoader: true, status: tabs[index].tag, tabId: tabs[index].id); diff --git a/lib/modules/asset_delivery_module/pages/asset_delivery_item_view.dart b/lib/modules/asset_delivery_module/pages/asset_delivery_item_view.dart index ff02233c..1fe8dc2b 100644 --- a/lib/modules/asset_delivery_module/pages/asset_delivery_item_view.dart +++ b/lib/modules/asset_delivery_module/pages/asset_delivery_item_view.dart @@ -2,14 +2,16 @@ import 'package:flutter/material.dart'; import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/string_extensions.dart'; -import 'package:test_sa/extensions/text_extensions.dart'; +import 'package:test_sa/extensions/string_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/models/all_requests_and_count_model.dart'; import 'package:test_sa/models/new_models/dashboard_detail.dart'; -import 'package:test_sa/modules/asset_delivery_module/pages/asset_delivery_page.dart'; import 'package:test_sa/modules/asset_inventory_module/pages/asset_inventory_page.dart'; import 'package:test_sa/new_views/app_style/app_color.dart'; +import 'package:test_sa/modules/asset_delivery_module/pages/asset_delivery_page.dart'; +import 'package:test_sa/views/widgets/item_views/info_header_widget.dart'; import 'package:test_sa/views/widgets/requests/request_status.dart'; +import 'package:test_sa/views/widgets/item_views/info_text_widget.dart'; class AssetDeliveryItemView extends StatelessWidget { final Data? requestData; @@ -24,23 +26,10 @@ class AssetDeliveryItemView extends StatelessWidget { return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - 8.height, - (requestData?.typeTransaction ?? 'Asset Delivery').heading5(context), - infoWidget(label: 'PO Internal'.addTranslation, value: requestData?.poInternal ?? '-', context: context), - infoWidget(label: 'PO External'.addTranslation, value: requestData?.poExternal ?? '-', context: context), + InfoHeaderWidget(requestData?.typeTransaction ?? 'Asset Delivery'), + InfoTextWidget(label: 'PO Internal'.addTranslation, value: requestData?.poInternal ?? '-'), + InfoTextWidget(label: 'PO External'.addTranslation, value: requestData?.poExternal ?? '-', showArrow: true), // infoWidget(label: 'No of Sites'.addTranslation, value: requestData?.numberOfSites != null ? requestData?.numberOfSites.toString() : '-', context: context), - 8.height, - Row( - mainAxisSize: MainAxisSize.min, - children: [ - Text( - context.translation.viewDetails, - style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), - ), - 4.width, - Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14) - ], - ), ], ).toShadowContainer(context, withShadow: showShadow).onPress(() async { Navigator.of(context).push(MaterialPageRoute( @@ -53,23 +42,11 @@ class AssetDeliveryItemView extends StatelessWidget { } return Column( crossAxisAlignment: CrossAxisAlignment.start, + spacing: 1, children: [ - 8.height, - (requestDetails?.nameOfType ?? 'Asset Delivery').heading5(context), - infoWidget(label: 'PO Internal'.addTranslation, value: requestDetails?.poInternal ?? '-', context: context), - infoWidget(label: 'PO External'.addTranslation, value: requestDetails?.poExternal ?? '-', context: context), - 8.height, - Row( - mainAxisSize: MainAxisSize.min, - children: [ - Text( - context.translation.viewDetails, - style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), - ), - 4.width, - Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14) - ], - ), + InfoHeaderWidget(requestDetails?.nameOfType ?? 'Asset Delivery'), + InfoTextWidget(label: 'PO Internal'.addTranslation, value: requestDetails?.poInternal ?? '-'), + InfoTextWidget(label: 'PO External'.addTranslation, value: requestDetails?.poExternal ?? '-', showArrow: true), ], ).toShadowContainer(context, withShadow: showShadow).onPress(() async { Navigator.of(context).push(MaterialPageRoute( @@ -80,11 +57,4 @@ class AssetDeliveryItemView extends StatelessWidget { ))); }); } - - Widget infoWidget({required String label, String? value, required BuildContext context}) { - if (value != null && value.isNotEmpty) { - return '$label: $value'.bodyText(context); - } - return const SizedBox(); - } } diff --git a/lib/modules/asset_inventory_module/pages/inventory_session_item_view.dart b/lib/modules/asset_inventory_module/pages/inventory_session_item_view.dart index 2ad678fe..c0db099e 100644 --- a/lib/modules/asset_inventory_module/pages/inventory_session_item_view.dart +++ b/lib/modules/asset_inventory_module/pages/inventory_session_item_view.dart @@ -2,12 +2,14 @@ import 'package:flutter/material.dart'; import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/string_extensions.dart'; -import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/models/all_requests_and_count_model.dart'; import 'package:test_sa/models/new_models/dashboard_detail.dart'; import 'package:test_sa/modules/asset_inventory_module/pages/asset_inventory_page.dart'; import 'package:test_sa/new_views/app_style/app_color.dart'; +import 'package:test_sa/views/widgets/item_views/info_date_widget.dart'; +import 'package:test_sa/views/widgets/item_views/info_header_widget.dart'; +import 'package:test_sa/views/widgets/item_views/info_text_widget.dart'; import 'package:test_sa/views/widgets/requests/request_status.dart'; class InventorySessionItemView extends StatelessWidget { @@ -32,30 +34,13 @@ class InventorySessionItemView extends StatelessWidget { backgroundColor: AppColor.getRequestStatusColorByName(context, requestData!.statusName!), ), 1.width.expanded, - Text( - requestData!.transactionDate?.toServiceRequestCardFormat ?? "", - textAlign: TextAlign.end, - style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50), - ), - ], - ), - 8.height, - (requestData?.typeTransaction ?? context.translation.taskRequest).heading5(context), - infoWidget(label: 'Session Type'.addTranslation, value: requestData?.sessionType, context: context), - infoWidget(label: 'No of Assets'.addTranslation, value: requestData?.numberOfAssets != null ? requestData?.numberOfAssets.toString() : '-', context: context), - infoWidget(label: 'No of Sites'.addTranslation, value: requestData?.numberOfSites != null ? requestData?.numberOfSites.toString() : '-', context: context), - 8.height, - Row( - mainAxisSize: MainAxisSize.min, - children: [ - Text( - context.translation.viewDetails, - style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), - ), - 4.width, - Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14) + InfoDateWidget(requestData!.transactionDate ?? ""), ], ), + InfoHeaderWidget(requestData?.typeTransaction ?? context.translation.taskRequest), + InfoTextWidget(label: 'Session Type'.addTranslation, value: requestData?.sessionType), + InfoTextWidget(label: 'No of Assets'.addTranslation, value: requestData?.numberOfAssets != null ? requestData?.numberOfAssets.toString() : '-'), + InfoTextWidget(label: 'No of Sites'.addTranslation, value: requestData?.numberOfSites != null ? requestData?.numberOfSites.toString() : '-', showArrow: true), ], ).toShadowContainer(context, withShadow: showShadow).onPress(() async { Navigator.of(context).push(MaterialPageRoute(builder: (_) => AssetInventoryPage(sessionId: requestData!.id!, moduleId: requestData!.transactionNo!))); @@ -63,6 +48,7 @@ class InventorySessionItemView extends StatelessWidget { } return Column( crossAxisAlignment: CrossAxisAlignment.start, + spacing: 1, children: [ Row( crossAxisAlignment: CrossAxisAlignment.start, @@ -73,40 +59,16 @@ class InventorySessionItemView extends StatelessWidget { backgroundColor: AppColor.getRequestStatusColorByName(context, requestDetails?.status!), ), 1.width.expanded, - Text( - requestDetails!.date?.toServiceRequestCardFormat ?? "", - textAlign: TextAlign.end, - style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50), - ), - ], - ), - 8.height, - (requestDetails?.nameOfType ?? context.translation.taskRequest).heading5(context), - infoWidget(label: 'Session Type'.addTranslation, value: requestDetails?.sessionType, context: context), - infoWidget(label: 'No of Assets'.addTranslation, value: requestDetails?.numberOfAssets != null ? requestDetails?.numberOfAssets.toString() : '-', context: context), - infoWidget(label: 'No of Sites'.addTranslation, value: requestDetails?.numberOfSites != null ? requestDetails?.numberOfSites.toString() : '-', context: context), - 8.height, - Row( - mainAxisSize: MainAxisSize.min, - children: [ - Text( - context.translation.viewDetails, - style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), - ), - 4.width, - Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14) + InfoDateWidget(requestDetails!.date ?? ""), ], ), + InfoHeaderWidget(requestDetails?.nameOfType ?? context.translation.taskRequest), + InfoTextWidget(label: 'Session Type'.addTranslation, value: requestDetails?.sessionType), + InfoTextWidget(label: 'No of Assets'.addTranslation, value: requestDetails?.numberOfAssets != null ? requestDetails?.numberOfAssets.toString() : '-'), + InfoTextWidget(label: 'No of Sites'.addTranslation, value: requestDetails?.numberOfSites != null ? requestDetails?.numberOfSites.toString() : '-', showArrow: true), ], ).toShadowContainer(context, withShadow: showShadow).onPress(() async { Navigator.of(context).push(MaterialPageRoute(builder: (_) => AssetInventoryPage(sessionId: requestDetails!.id!, moduleId: requestDetails!.transactionType!))); }); } - - Widget infoWidget({required String label, String? value, required BuildContext context}) { - if (value != null && value.isNotEmpty) { - return '$label: $value'.bodyText(context); - } - return const SizedBox(); - } } diff --git a/lib/modules/demo_module/demo_request_item_view.dart b/lib/modules/demo_module/demo_request_item_view.dart index 120722ad..6abc6d58 100644 --- a/lib/modules/demo_module/demo_request_item_view.dart +++ b/lib/modules/demo_module/demo_request_item_view.dart @@ -1,15 +1,14 @@ import 'package:flutter/material.dart'; import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/int_extensions.dart'; -import 'package:test_sa/extensions/string_extensions.dart'; -import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/models/all_requests_and_count_model.dart'; import 'package:test_sa/models/new_models/dashboard_detail.dart'; -import 'package:test_sa/modules/asset_delivery_module/pages/asset_delivery_page.dart'; -import 'package:test_sa/modules/asset_inventory_module/pages/asset_inventory_page.dart'; import 'package:test_sa/modules/demo_module/demo_detail_view_page.dart'; import 'package:test_sa/new_views/app_style/app_color.dart'; +import 'package:test_sa/views/widgets/item_views/info_date_widget.dart'; +import 'package:test_sa/views/widgets/item_views/info_header_widget.dart'; +import 'package:test_sa/views/widgets/item_views/info_text_widget.dart'; import 'package:test_sa/views/widgets/requests/request_status.dart'; class DemoRequestItemView extends StatelessWidget { @@ -34,30 +33,14 @@ class DemoRequestItemView extends StatelessWidget { backgroundColor: AppColor.demoRequestStatus(context, requestData?.statusValue ?? 0), ), 1.width.expanded, - Text( - requestData!.transactionDate?.toServiceRequestCardFormat ?? "", - textAlign: TextAlign.end, - style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50), - ), + InfoDateWidget(requestData!.transactionDate ?? ""), ], ), // 8.height, - (requestData?.typeTransaction ?? 'Demo Request').heading5(context), - infoWidget(label: 'Request No'.addTranslation, value: requestData?.requestNo ?? '-', context: context), - infoWidget(label: context.translation.requestType, value: requestData?.requestTypeName, context: context), + InfoHeaderWidget(requestData?.typeTransaction ?? 'Demo Request'), + InfoTextWidget(label: context.translation.requestNo, value: requestData?.requestNo ?? '-'), + InfoTextWidget(label: context.translation.requestType, value: requestData?.requestTypeName, showArrow: true), // infoWidget(label: 'No of Sites'.addTranslation, value: requestData?.numberOfSites != null ? requestData?.numberOfSites.toString() : '-', context: context), - 8.height, - Row( - mainAxisSize: MainAxisSize.min, - children: [ - Text( - context.translation.viewDetails, - style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), - ), - 4.width, - Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14) - ], - ), ], ).toShadowContainer(context, withShadow: showShadow).onPress(() async { Navigator.of(context).push(MaterialPageRoute(builder: (_) => DemoDetailViewPage(demoId: requestData!.id!, moduleId: requestData!.transactionNo!))); @@ -65,6 +48,7 @@ class DemoRequestItemView extends StatelessWidget { } return Column( crossAxisAlignment: CrossAxisAlignment.start, + spacing: 1, children: [ Row( crossAxisAlignment: CrossAxisAlignment.start, @@ -75,39 +59,17 @@ class DemoRequestItemView extends StatelessWidget { backgroundColor: AppColor.demoRequestStatus(context, requestDetails?.statusValue ?? 0), ), 1.width.expanded, - Text( - requestDetails!.date?.toServiceRequestCardFormat ?? "", - textAlign: TextAlign.end, - style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50), - ), + InfoDateWidget(requestDetails!.date ?? ""), ], ), // 8.height, - (requestDetails?.nameOfType ?? 'Demo Request').heading5(context), + InfoHeaderWidget(requestDetails?.nameOfType ?? 'Demo Request'), // infoWidget(label: context.translation.requestType, value: requestDetails!.requestType, context: context), - infoWidget(label: context.translation.requestNo, value: requestDetails!.requestNo, context: context), - infoWidget(label: context.translation.site, value: requestDetails!.site, context: context), - Row( - mainAxisSize: MainAxisSize.min, - children: [ - Text( - context.translation.viewDetails, - style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), - ), - 4.width, - Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14) - ], - ), + InfoTextWidget(label: context.translation.requestNo, value: requestDetails!.requestNo), + InfoTextWidget(label: context.translation.site, value: requestDetails!.site, showArrow: true), ], ).toShadowContainer(context, withShadow: showShadow).onPress(() async { Navigator.of(context).push(MaterialPageRoute(builder: (_) => DemoDetailViewPage(demoId: requestDetails!.id!, moduleId: requestDetails!.transactionType!))); }); } - - Widget infoWidget({required String label, String? value, required BuildContext context}) { - if (value != null && value.isNotEmpty) { - return '$label: $value'.bodyText(context); - } - return const SizedBox(); - } } diff --git a/lib/modules/incident_module/incident_item_view.dart b/lib/modules/incident_module/incident_item_view.dart index 52838fb3..aa9d0711 100644 --- a/lib/modules/incident_module/incident_item_view.dart +++ b/lib/modules/incident_module/incident_item_view.dart @@ -1,15 +1,13 @@ -import 'dart:developer'; - import 'package:flutter/material.dart'; import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/int_extensions.dart'; -import 'package:test_sa/extensions/string_extensions.dart'; -import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/models/all_requests_and_count_model.dart'; import 'package:test_sa/models/new_models/dashboard_detail.dart'; -import 'package:test_sa/modules/internal_audit_module/pages/equipment_internal_audit/equipment_internal_audit_detail_page.dart'; import 'package:test_sa/new_views/app_style/app_color.dart'; +import 'package:test_sa/views/widgets/item_views/info_date_widget.dart'; +import 'package:test_sa/views/widgets/item_views/info_header_widget.dart'; +import 'package:test_sa/views/widgets/item_views/info_text_widget.dart'; import 'package:test_sa/views/widgets/requests/request_status.dart'; import 'incident_detail_page.dart'; @@ -36,30 +34,13 @@ class IncidentItemView extends StatelessWidget { backgroundColor: AppColor.getRequestStatusColorByName(context, requestData!.statusName!), ), 1.width.expanded, - Text( - requestData!.transactionDate?.toServiceRequestCardFormat ?? "", - textAlign: TextAlign.end, - style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50), - ), + InfoDateWidget(requestData!.transactionDate ?? ""), ], ), - 8.height, - (requestData?.typeTransaction ?? "Loan Request").heading5(context), - infoWidget(label: context.translation.requestType, value: requestData?.requestTypeName, context: context), - infoWidget(label: "Incident No", value: requestData?.requestNo, context: context), + InfoHeaderWidget(requestData?.typeTransaction ?? "Loan Request"), + InfoTextWidget(label: context.translation.requestType, value: requestData?.requestTypeName), + InfoTextWidget(label: "Incident No", value: requestData?.requestNo, showArrow: true), // infoWidget(label: context.translation.site, value: requestData?., context: context), - 8.height, - Row( - mainAxisSize: MainAxisSize.min, - children: [ - Text( - context.translation.viewDetails, - style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), - ), - 4.width, - Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14) - ], - ), ], ).toShadowContainer(context, withShadow: showShadow).onPress(() async { Navigator.push(context, MaterialPageRoute(builder: (context) => IncidentDetailPage(incidentId: requestDetails!.id!))); @@ -67,6 +48,7 @@ class IncidentItemView extends StatelessWidget { } return Column( crossAxisAlignment: CrossAxisAlignment.start, + spacing: 1, children: [ Row( crossAxisAlignment: CrossAxisAlignment.start, @@ -77,42 +59,17 @@ class IncidentItemView extends StatelessWidget { backgroundColor: AppColor.getRequestStatusColorByName(context, requestDetails?.status!), ), 1.width.expanded, - Text( - requestDetails!.date?.toServiceRequestCardFormat ?? "", - textAlign: TextAlign.end, - style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50), - ), - ], - ), - 8.height, - (requestDetails?.nameOfType ?? "Loan Request").heading5(context), - 8.height, - infoWidget(label: context.translation.requestType, value: requestDetails!.requestType, context: context), - infoWidget(label: "Incident No", value: requestDetails!.requestNo, context: context), - infoWidget(label: context.translation.assetName, value: requestDetails!.assetName, context: context), - infoWidget(label: context.translation.site, value: requestDetails!.site, context: context), - 8.height, - Row( - mainAxisSize: MainAxisSize.min, - children: [ - Text( - context.translation.viewDetails, - style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), - ), - 4.width, - Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14) + InfoDateWidget(requestDetails!.date ?? ""), ], ), + InfoHeaderWidget(requestDetails?.nameOfType ?? "Loan Request"), + InfoTextWidget(label: context.translation.requestType, value: requestDetails!.requestType), + InfoTextWidget(label: "Incident No", value: requestDetails!.requestNo), + InfoTextWidget(label: context.translation.assetName, value: requestDetails!.assetName), + InfoTextWidget(label: context.translation.site, value: requestDetails!.site, showArrow: true), ], ).toShadowContainer(context, withShadow: showShadow).onPress(() async { Navigator.push(context, MaterialPageRoute(builder: (context) => IncidentDetailPage(incidentId: requestDetails!.id!))); }); } - - Widget infoWidget({required String label, String? value, required BuildContext context}) { - if (value != null && value.isNotEmpty) { - return '$label: $value'.bodyText(context); - } - return const SizedBox(); - } } diff --git a/lib/modules/internal_audit_module/pages/equipment_internal_audit/equipment_internal_audit_item_view.dart b/lib/modules/internal_audit_module/pages/equipment_internal_audit/equipment_internal_audit_item_view.dart index 8aa12b64..5abd28f2 100644 --- a/lib/modules/internal_audit_module/pages/equipment_internal_audit/equipment_internal_audit_item_view.dart +++ b/lib/modules/internal_audit_module/pages/equipment_internal_audit/equipment_internal_audit_item_view.dart @@ -3,13 +3,14 @@ import 'dart:developer'; import 'package:flutter/material.dart'; import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/int_extensions.dart'; -import 'package:test_sa/extensions/string_extensions.dart'; -import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/models/all_requests_and_count_model.dart'; import 'package:test_sa/models/new_models/dashboard_detail.dart'; import 'package:test_sa/modules/internal_audit_module/pages/equipment_internal_audit/equipment_internal_audit_detail_page.dart'; import 'package:test_sa/new_views/app_style/app_color.dart'; +import 'package:test_sa/views/widgets/item_views/info_date_widget.dart'; +import 'package:test_sa/views/widgets/item_views/info_header_widget.dart'; +import 'package:test_sa/views/widgets/item_views/info_text_widget.dart'; import 'package:test_sa/views/widgets/requests/request_status.dart'; class EquipmentInternalAuditItemView extends StatelessWidget { @@ -34,29 +35,12 @@ class EquipmentInternalAuditItemView extends StatelessWidget { backgroundColor: AppColor.getRequestStatusColorByName(context, requestData!.statusName!), ), 1.width.expanded, - Text( - requestData!.transactionDate?.toServiceRequestCardFormat ?? "", - textAlign: TextAlign.end, - style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50), - ), - ], - ), - 8.height, - (requestData?.typeTransaction ?? "Internal Audit Request").heading5(context), - infoWidget(label: context.translation.requestNo, value: requestData!.requestNo, context: context), - infoWidget(label: context.translation.assetNumber, value: requestData!.assetNumber, context: context), - 8.height, - Row( - mainAxisSize: MainAxisSize.min, - children: [ - Text( - context.translation.viewDetails, - style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), - ), - 4.width, - Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14) + InfoDateWidget(requestData!.transactionDate ?? ""), ], ), + InfoHeaderWidget(requestData?.typeTransaction ?? "Internal Audit Request"), + InfoTextWidget(label: context.translation.requestNo, value: requestData!.requestNo), + InfoTextWidget(label: context.translation.assetNumber, value: requestData!.assetNumber, showArrow: true), ], ).toShadowContainer(context, withShadow: showShadow).onPress(() async { Navigator.push(context, MaterialPageRoute(builder: (context) => EquipmentInternalAuditDetailPage(auditId: requestData!.id!))); @@ -64,6 +48,7 @@ class EquipmentInternalAuditItemView extends StatelessWidget { } return Column( crossAxisAlignment: CrossAxisAlignment.start, + spacing: 1, children: [ Row( crossAxisAlignment: CrossAxisAlignment.start, @@ -74,43 +59,18 @@ class EquipmentInternalAuditItemView extends StatelessWidget { backgroundColor: AppColor.getRequestStatusColorByName(context, requestDetails?.status!), ), 1.width.expanded, - Text( - requestDetails!.date?.toServiceRequestCardFormat ?? "", - textAlign: TextAlign.end, - style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50), - ), - ], - ), - 8.height, - (requestDetails?.nameOfType ?? "Internal Audit Request").heading5(context), - 8.height, - infoWidget(label: context.translation.requestNo, value: requestDetails!.requestNo, context: context), - infoWidget(label: context.translation.assetNumber, value: requestDetails!.assetNo, context: context), - infoWidget(label: context.translation.assetSN, value: requestDetails!.assetSN, context: context), - infoWidget(label: context.translation.model, value: requestDetails!.model, context: context), - infoWidget(label: context.translation.site, value: requestDetails!.site, context: context), - 8.height, - Row( - mainAxisSize: MainAxisSize.min, - children: [ - Text( - context.translation.viewDetails, - style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), - ), - 4.width, - Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14) + InfoDateWidget(requestDetails!.date ?? ""), ], ), + InfoHeaderWidget(requestDetails?.nameOfType ?? "Internal Audit Request"), + InfoTextWidget(label: context.translation.requestNo, value: requestDetails!.requestNo), + InfoTextWidget(label: context.translation.assetNumber, value: requestDetails!.assetNo), + InfoTextWidget(label: context.translation.assetSN, value: requestDetails!.assetSN), + InfoTextWidget(label: context.translation.model, value: requestDetails!.model), + InfoTextWidget(label: context.translation.site, value: requestDetails!.site, showArrow: true), ], ).toShadowContainer(context, withShadow: showShadow).onPress(() async { Navigator.push(context, MaterialPageRoute(builder: (context) => EquipmentInternalAuditDetailPage(auditId: requestDetails!.id!))); }); } - - Widget infoWidget({required String label, String? value, required BuildContext context}) { - if (value != null && value.isNotEmpty) { - return '$label: $value'.bodyText(context); - } - return const SizedBox(); - } } diff --git a/lib/modules/internal_audit_module/pages/system_internal_audit/system_internal_audit_item_view.dart b/lib/modules/internal_audit_module/pages/system_internal_audit/system_internal_audit_item_view.dart index 91a01b22..b9adcbfc 100644 --- a/lib/modules/internal_audit_module/pages/system_internal_audit/system_internal_audit_item_view.dart +++ b/lib/modules/internal_audit_module/pages/system_internal_audit/system_internal_audit_item_view.dart @@ -1,16 +1,14 @@ -import 'dart:developer'; - import 'package:flutter/material.dart'; import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/int_extensions.dart'; -import 'package:test_sa/extensions/string_extensions.dart'; -import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/models/all_requests_and_count_model.dart'; import 'package:test_sa/models/new_models/dashboard_detail.dart'; -import 'package:test_sa/modules/internal_audit_module/pages/equipment_internal_audit/equipment_internal_audit_detail_page.dart'; import 'package:test_sa/modules/internal_audit_module/pages/system_internal_audit/system_internal_audit_detail_page.dart'; import 'package:test_sa/new_views/app_style/app_color.dart'; +import 'package:test_sa/views/widgets/item_views/info_date_widget.dart'; +import 'package:test_sa/views/widgets/item_views/info_header_widget.dart'; +import 'package:test_sa/views/widgets/item_views/info_text_widget.dart'; import 'package:test_sa/views/widgets/requests/request_status.dart'; class SystemInternalAuditItemView extends StatelessWidget { @@ -36,29 +34,12 @@ class SystemInternalAuditItemView extends StatelessWidget { backgroundColor: AppColor.getRequestStatusColorByName(context, requestData!.statusName!), ), 1.width.expanded, - Text( - requestData!.transactionDate?.toServiceRequestCardFormat ?? "", - textAlign: TextAlign.end, - style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50), - ), - ], - ), - 8.height, - (requestData?.typeTransaction ?? "System Audit Request").heading5(context), - infoWidget(label: context.translation.requestNo, value: requestData!.requestNo, context: context), - infoWidget(label: context.translation.assetNumber, value: requestData?.assetNumber, context: context), - 8.height, - Row( - mainAxisSize: MainAxisSize.min, - children: [ - Text( - context.translation.viewDetails, - style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), - ), - 4.width, - Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14) + InfoDateWidget(requestData!.transactionDate ?? ""), ], ), + InfoHeaderWidget(requestData?.typeTransaction ?? "System Audit Request"), + InfoTextWidget(label: context.translation.requestNo, value: requestData!.requestNo), + InfoTextWidget(label: context.translation.assetNumber, value: requestData?.assetNumber, showArrow: true), ], ).toShadowContainer(context, withShadow: showShadow).onPress(() async { Navigator.push(context, MaterialPageRoute(builder: (context) => SystemInternalAuditDetailPage(auditId: requestData!.id!))); @@ -66,6 +47,7 @@ class SystemInternalAuditItemView extends StatelessWidget { } return Column( crossAxisAlignment: CrossAxisAlignment.start, + spacing: 1, children: [ Row( crossAxisAlignment: CrossAxisAlignment.start, @@ -76,45 +58,19 @@ class SystemInternalAuditItemView extends StatelessWidget { backgroundColor: AppColor.getRequestStatusColorByName(context, requestDetails?.status!), ), 1.width.expanded, - Text( - requestDetails!.date?.toServiceRequestCardFormat ?? "", - textAlign: TextAlign.end, - style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50), - ), + InfoDateWidget(requestDetails!.date ?? ""), ], ), - 8.height, - (requestDetails?.nameOfType ?? "Internal Audit Request").heading5(context), - - infoWidget(label: context.translation.requestNo, value: requestDetails!.requestNo, context: context), - infoWidget(label: context.translation.assetNumber, value: requestDetails!.assetNo, context: context), - infoWidget(label: context.translation.assetSN, value: requestDetails!.assetSN, context: context), - infoWidget(label: context.translation.model, value: requestDetails!.model, context: context), - infoWidget(label: context.translation.site, value: requestDetails!.site, context: context), - 8.height, + InfoHeaderWidget(requestDetails?.nameOfType ?? "Internal Audit Request"), + InfoTextWidget(label: context.translation.requestNo, value: requestDetails!.requestNo), + InfoTextWidget(label: context.translation.assetNumber, value: requestDetails!.assetNo), + InfoTextWidget(label: context.translation.assetSN, value: requestDetails!.assetSN), + InfoTextWidget(label: context.translation.model, value: requestDetails!.model), + InfoTextWidget(label: context.translation.site, value: requestDetails!.site, showArrow: true), // infoWidget(label: context.translation.site, value: requestDetails!.site, context: context), - 8.height, - Row( - mainAxisSize: MainAxisSize.min, - children: [ - Text( - context.translation.viewDetails, - style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), - ), - 4.width, - Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14) - ], - ), ], ).toShadowContainer(context, withShadow: showShadow).onPress(() async { Navigator.push(context, MaterialPageRoute(builder: (context) => SystemInternalAuditDetailPage(auditId: requestDetails!.id!))); }); } - - Widget infoWidget({required String label, String? value, required BuildContext context}) { - if (value != null && value.isNotEmpty) { - return '$label: $value'.bodyText(context); - } - return const SizedBox(); - } } diff --git a/lib/modules/medical_gas_inspection/medical_gas_inspection_item_view.dart b/lib/modules/medical_gas_inspection/medical_gas_inspection_item_view.dart index e03fc500..0573c78f 100644 --- a/lib/modules/medical_gas_inspection/medical_gas_inspection_item_view.dart +++ b/lib/modules/medical_gas_inspection/medical_gas_inspection_item_view.dart @@ -4,12 +4,15 @@ import 'package:flutter/material.dart'; import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/string_extensions.dart'; -import 'package:test_sa/extensions/text_extensions.dart'; +import 'package:test_sa/extensions/string_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/models/all_requests_and_count_model.dart'; import 'package:test_sa/models/new_models/dashboard_detail.dart'; import 'package:test_sa/modules/medical_gas_inspection/medical_gas_inspection_detail_page.dart'; import 'package:test_sa/new_views/app_style/app_color.dart'; +import 'package:test_sa/views/widgets/item_views/info_date_widget.dart'; +import 'package:test_sa/views/widgets/item_views/info_header_widget.dart'; +import 'package:test_sa/views/widgets/item_views/info_text_widget.dart'; import 'package:test_sa/views/widgets/requests/request_status.dart'; class MedicalGasInspectionItemView extends StatelessWidget { @@ -42,27 +45,14 @@ class MedicalGasInspectionItemView extends StatelessWidget { backgroundColor: AppColor.getHistoryLogStatusColorByName(requestData!.statusName!), ), 1.width.expanded, - Text(requestData!.transactionDate!.toServiceRequestCardFormat, - textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50)), + InfoDateWidget(requestData!.transactionDate ?? ""), ], ), - (requestData?.typeTransaction ?? 'Medical Gas Request').heading5(context), - infoWidget(label: 'Request Number'.addTranslation, value: requestData?.requestNo ?? '-', context: context), - infoWidget(label: 'Request Type'.addTranslation, value: requestData?.requestType ?? '-', context: context), + InfoHeaderWidget(requestData?.typeTransaction ?? 'Medical Gas Request'), + InfoTextWidget(label: 'Request Number'.addTranslation, value: requestData?.requestNo ?? '-'), + InfoTextWidget(label: 'Request Type'.addTranslation, value: requestData?.requestType ?? '-', showArrow: true), // infoWidget(label: 'Site'.addTranslation, value: requestData?.si ?? '-', context: context), // infoWidget(label: 'Gas Type'.addTranslation, value: requestDetails?.gasType ?? '-', context: context), - 8.height, - Row( - mainAxisSize: MainAxisSize.min, - children: [ - Text( - context.translation.viewDetails, - style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), - ), - 4.width, - Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14) - ], - ), ], ).toShadowContainer(context, withShadow: showShadow).onPress(() async { Navigator.of(context).push(MaterialPageRoute( @@ -74,6 +64,7 @@ class MedicalGasInspectionItemView extends StatelessWidget { } return Column( crossAxisAlignment: CrossAxisAlignment.start, + spacing: 1, children: [ Row( crossAxisAlignment: CrossAxisAlignment.start, @@ -92,25 +83,13 @@ class MedicalGasInspectionItemView extends StatelessWidget { backgroundColor: AppColor.getHistoryLogStatusColorByName(requestDetails!.status!), ), 1.width.expanded, - Text(requestDetails!.date!.toServiceRequestCardFormat, textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50)), - ], - ), - (requestDetails?.nameOfType ?? 'Medical Gas Request').heading5(context), - infoWidget(label: 'Request Number'.addTranslation, value: requestDetails?.requestNo ?? '-', context: context), - infoWidget(label: 'Request Type'.addTranslation, value: requestDetails?.requestType ?? '-', context: context), - infoWidget(label: 'Site'.addTranslation, value: requestDetails?.site ?? '-', context: context), - 8.height, - Row( - mainAxisSize: MainAxisSize.min, - children: [ - Text( - context.translation.viewDetails, - style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), - ), - 4.width, - Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14) + InfoDateWidget(requestDetails!.date ?? ""), ], ), + InfoHeaderWidget(requestDetails?.nameOfType ?? 'Medical Gas Request'), + InfoTextWidget(label: 'Request Number'.addTranslation, value: requestDetails?.requestNo ?? '-'), + InfoTextWidget(label: 'Request Type'.addTranslation, value: requestDetails?.requestType ?? '-'), + InfoTextWidget(label: 'Site'.addTranslation, value: requestDetails?.site ?? '-', showArrow: true), ], ).toShadowContainer(context, withShadow: showShadow).onPress(() async { Navigator.of(context).push(MaterialPageRoute( @@ -120,11 +99,4 @@ class MedicalGasInspectionItemView extends StatelessWidget { ))); }); } - - Widget infoWidget({required String label, String? value, required BuildContext context}) { - if (value != null && value.isNotEmpty) { - return '$label: $value'.bodyText(context); - } - return const SizedBox(); - } } diff --git a/lib/modules/tm_module/tasks/task_request_item_view.dart b/lib/modules/tm_module/tasks/task_request_item_view.dart index 2c164df3..402de25c 100644 --- a/lib/modules/tm_module/tasks/task_request_item_view.dart +++ b/lib/modules/tm_module/tasks/task_request_item_view.dart @@ -1,12 +1,13 @@ import 'package:flutter/material.dart'; import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/int_extensions.dart'; -import 'package:test_sa/extensions/string_extensions.dart'; -import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/models/all_requests_and_count_model.dart'; import 'package:test_sa/models/new_models/dashboard_detail.dart'; import 'package:test_sa/new_views/app_style/app_color.dart'; +import 'package:test_sa/views/widgets/item_views/info_date_widget.dart'; +import 'package:test_sa/views/widgets/item_views/info_header_widget.dart'; +import 'package:test_sa/views/widgets/item_views/info_text_widget.dart'; import 'package:test_sa/views/widgets/requests/request_status.dart'; import 'task_request_detail_view.dart'; @@ -39,30 +40,13 @@ class TaskRequestItemView extends StatelessWidget { backgroundColor: AppColor.getRequestStatusColorByName(context, requestData!.statusName!), ), 1.width.expanded, - Text( - requestData!.transactionDate?.toServiceRequestCardFormat ?? "", - textAlign: TextAlign.end, - style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50), - ), - ], - ), - 8.height, - (requestData?.typeTransaction ?? context.translation.taskRequest).heading5(context), - infoWidget(label: context.translation.requestNo, value: requestData?.requestNo, context: context), - infoWidget(label: context.translation.assetName, value: requestData?.assetName, context: context), - infoWidget(label: context.translation.assetNo, value: requestData?.assetNumber, context: context), - 8.height, - Row( - mainAxisSize: MainAxisSize.min, - children: [ - Text( - context.translation.viewDetails, - style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), - ), - 4.width, - Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14) + InfoDateWidget(requestData!.transactionDate ?? ""), ], ), + InfoHeaderWidget(requestData?.typeTransaction ?? context.translation.taskRequest), + InfoTextWidget(label: context.translation.requestNo, value: requestData?.requestNo), + InfoTextWidget(label: context.translation.assetName, value: requestData?.assetName), + InfoTextWidget(label: context.translation.assetNo, value: requestData?.assetNumber, showArrow: true), ], ).toShadowContainer(context, withShadow: showShadow).onPress(() async { Navigator.of(context).push(MaterialPageRoute( @@ -75,6 +59,7 @@ class TaskRequestItemView extends StatelessWidget { } return Column( crossAxisAlignment: CrossAxisAlignment.start, + spacing: 1, children: [ Row( crossAxisAlignment: CrossAxisAlignment.start, @@ -91,33 +76,15 @@ class TaskRequestItemView extends StatelessWidget { backgroundColor: AppColor.getRequestStatusColorByName(context, requestDetails?.status!), ), 1.width.expanded, - Text( - requestDetails!.date?.toServiceRequestCardFormat ?? "", - textAlign: TextAlign.end, - style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50), - ), - ], - ), - 8.height, - (requestDetails?.nameOfType ?? context.translation.taskRequest).heading5(context), - 8.height, - infoWidget(label: context.translation.requestNo, value: requestDetails!.requestNo, context: context), - infoWidget(label: context.translation.assetName, value: requestDetails!.assetName, context: context), - infoWidget(label: context.translation.assetNo, value: requestDetails!.assetNo, context: context), - infoWidget(label: context.translation.assetSN, value: requestDetails!.assetSN, context: context), - infoWidget(label: context.translation.site, value: requestDetails!.site, context: context), - 8.height, - Row( - mainAxisSize: MainAxisSize.min, - children: [ - Text( - context.translation.viewDetails, - style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), - ), - 4.width, - Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14) + InfoDateWidget(requestDetails!.date ?? ""), ], ), + InfoHeaderWidget(requestDetails?.nameOfType ?? context.translation.taskRequest), + InfoTextWidget(label: context.translation.requestNo, value: requestDetails!.requestNo), + InfoTextWidget(label: context.translation.assetName, value: requestDetails!.assetName), + InfoTextWidget(label: context.translation.assetNo, value: requestDetails!.assetNo), + InfoTextWidget(label: context.translation.assetSN, value: requestDetails!.assetSN), + InfoTextWidget(label: context.translation.site, value: requestDetails!.site, showArrow: true), ], ).toShadowContainer(context, withShadow: showShadow).onPress(() async { Navigator.of(context).push(MaterialPageRoute( @@ -128,11 +95,4 @@ class TaskRequestItemView extends StatelessWidget { ))); }); } - - Widget infoWidget({required String label, String? value, required BuildContext context}) { - if (value != null && value.isNotEmpty) { - return '$label: $value'.bodyText(context); - } - return const SizedBox(); - } } diff --git a/lib/modules/traf_module/traf_request_item_view.dart b/lib/modules/traf_module/traf_request_item_view.dart index 1bf03eb5..b9246cfb 100644 --- a/lib/modules/traf_module/traf_request_item_view.dart +++ b/lib/modules/traf_module/traf_request_item_view.dart @@ -1,12 +1,13 @@ import 'package:flutter/material.dart'; import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/int_extensions.dart'; -import 'package:test_sa/extensions/string_extensions.dart'; -import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/models/all_requests_and_count_model.dart'; import 'package:test_sa/models/new_models/dashboard_detail.dart'; import 'package:test_sa/new_views/app_style/app_color.dart'; +import 'package:test_sa/views/widgets/item_views/info_date_widget.dart'; +import 'package:test_sa/views/widgets/item_views/info_header_widget.dart'; +import 'package:test_sa/views/widgets/item_views/info_text_widget.dart'; import 'package:test_sa/views/widgets/requests/request_status.dart'; import 'traf_request_detail_page.dart'; @@ -39,29 +40,12 @@ class TrafRequestItemView extends StatelessWidget { backgroundColor: AppColor.getRequestStatusColorByName(context, requestData!.statusName!), ), 1.width.expanded, - Text( - requestData!.transactionDate?.toServiceRequestCardFormat ?? "", - textAlign: TextAlign.end, - style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50), - ), - ], - ), - 8.height, - (requestData?.typeTransaction ?? "TRAF Request").heading5(context), - infoWidget(label: context.translation.requestType, value: requestData?.requestTypeName, context: context), - infoWidget(label: "TRAF No", value: requestData?.requestNo, context: context), - 8.height, - Row( - mainAxisSize: MainAxisSize.min, - children: [ - Text( - context.translation.viewDetails, - style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), - ), - 4.width, - Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14) + InfoDateWidget(requestData!.transactionDate ?? ""), ], ), + InfoHeaderWidget(requestData?.typeTransaction ?? "TRAF Request"), + InfoTextWidget(label: context.translation.requestType, value: requestData?.requestTypeName), + InfoTextWidget(label: "TRAF No", value: requestData?.requestNo, showArrow: true), ], ).toShadowContainer(context, withShadow: showShadow).onPress(() async { Navigator.push(context, MaterialPageRoute(builder: (context) => TrafRequestDetailPage(trafId: requestData!.id!))); @@ -69,6 +53,7 @@ class TrafRequestItemView extends StatelessWidget { } return Column( crossAxisAlignment: CrossAxisAlignment.start, + spacing: 1, children: [ Row( crossAxisAlignment: CrossAxisAlignment.start, @@ -85,41 +70,16 @@ class TrafRequestItemView extends StatelessWidget { backgroundColor: AppColor.getRequestStatusColorByName(context, requestDetails?.status!), ), 1.width.expanded, - Text( - requestDetails!.date?.toServiceRequestCardFormat ?? "", - textAlign: TextAlign.end, - style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50), - ), - ], - ), - 8.height, - (requestDetails?.nameOfType ?? "TRAF Request").heading5(context), - 8.height, - infoWidget(label: context.translation.requestType, value: requestDetails!.requestType, context: context), - infoWidget(label: "TRAF No", value: requestDetails!.requestNo, context: context), - infoWidget(label: context.translation.site, value: requestDetails!.site, context: context), - 8.height, - Row( - mainAxisSize: MainAxisSize.min, - children: [ - Text( - context.translation.viewDetails, - style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), - ), - 4.width, - Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14) + InfoDateWidget(requestDetails!.date ?? ""), ], ), + InfoHeaderWidget(requestDetails?.nameOfType ?? "TRAF Request"), + InfoTextWidget(label: context.translation.requestType, value: requestDetails!.requestType), + InfoTextWidget(label: "TRAF No", value: requestDetails!.requestNo), + InfoTextWidget(label: context.translation.site, value: requestDetails!.site, showArrow: true), ], ).toShadowContainer(context, withShadow: showShadow).onPress(() async { Navigator.push(context, MaterialPageRoute(builder: (context) => TrafRequestDetailPage(trafId: requestDetails!.id!))); }); } - - Widget infoWidget({required String label, String? value, required BuildContext context}) { - if (value != null && value.isNotEmpty) { - return '$label: $value'.bodyText(context); - } - return const SizedBox(); - } } diff --git a/lib/new_views/pages/land_page/requests/device_item_view.dart b/lib/new_views/pages/land_page/requests/device_item_view.dart index dfb12d40..c6102c15 100644 --- a/lib/new_views/pages/land_page/requests/device_item_view.dart +++ b/lib/new_views/pages/land_page/requests/device_item_view.dart @@ -3,11 +3,15 @@ import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/string_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart'; +import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/models/all_requests_and_count_model.dart'; import 'package:test_sa/models/device/device_transfer.dart'; import 'package:test_sa/models/new_models/dashboard_detail.dart'; import 'package:test_sa/modules/tm_module/device_transfer/device_transfer_details.dart'; +import 'package:test_sa/views/widgets/item_views/info_date_widget.dart'; +import 'package:test_sa/views/widgets/item_views/info_header_widget.dart'; +import 'package:test_sa/views/widgets/item_views/info_text_widget.dart'; import '../../../../views/widgets/requests/request_status.dart'; import '../../../app_style/app_color.dart'; @@ -43,38 +47,14 @@ class DeviceItemView extends StatelessWidget { backgroundColor: AppColor.getRequestStatusColorByName(context, requestData?.statusName), ), 1.width.expanded, - Text(requestData!.transactionDate?.toServiceRequestCardFormat ?? "", - textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50)), - ], - ), - 8.height, - Column( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisSize: MainAxisSize.min, - children: [ - (requestData?.typeTransaction ?? context.translation.deviceTransferRequest).heading5(context), - // "${context.translation.from} : ${request.siteTransferFrom?.cleanupWhitespace.capitalizeFirstOfEach}".bodyText(context), // todo ask ahmed - // "${context.translation.to} : ${request.siteTransferTo?.cleanupWhitespace.capitalizeFirstOfEach}".bodyText(context),// todo ask ahmed - // requestData!.statusName!.replaceAll("=", ":").bodyText(context), - '${context.translation.requestNo}: ${requestData!.requestNo}'.bodyText(context), - ], - ), - 8.height, - Row( - mainAxisSize: MainAxisSize.min, - children: [ - Text( - context.translation.viewDetails, - style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), - ), - 4.width, - Icon( - Icons.arrow_forward, - color: AppColor.blueStatus(context), - size: 14, - ) + InfoDateWidget(requestData!.transactionDate ?? ""), ], ), + InfoHeaderWidget(requestData?.typeTransaction ?? context.translation.deviceTransferRequest), + // "${context.translation.from} : ${request.siteTransferFrom?.cleanupWhitespace.capitalizeFirstOfEach}".bodyText(context), // todo ask ahmed + // "${context.translation.to} : ${request.siteTransferTo?.cleanupWhitespace.capitalizeFirstOfEach}".bodyText(context),// todo ask ahmed + // requestData!.statusName!.replaceAll("=", ":").bodyText(context), + InfoTextWidget(label: context.translation.requestNo, value: requestData!.requestNo, showArrow: true), ], ).toShadowContainer(context, withShadow: showShadow).onPress(() { Navigator.of(context).push(MaterialPageRoute(builder: (_) => DeviceTransferDetails(model: DeviceTransfer(id: requestData!.id!), moduleId: requestData!.transactionNo!))); @@ -85,6 +65,7 @@ class DeviceItemView extends StatelessWidget { return Column( // mainAxisAlignment: MainAxisAlignment.spaceBetween, crossAxisAlignment: CrossAxisAlignment.start, + spacing: 1, children: [ Row( crossAxisAlignment: CrossAxisAlignment.start, @@ -103,39 +84,14 @@ class DeviceItemView extends StatelessWidget { backgroundColor: AppColor.getRequestStatusColorByName(context, requestDetails?.status), ), 1.width.expanded, - Text(requestDetails!.date?.toServiceRequestCardFormat ?? "", - textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50)), - ], - ), - 8.height, - Column( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisSize: MainAxisSize.min, - children: [ - (requestDetails?.nameOfType ?? context.translation.deviceTransferRequest).heading5(context), - 8.height, - '${context.translation.trNumber}: ${requestDetails!.requestNo}'.bodyText(context), - "${context.translation.from} : ${requestDetails!.siteTransferFrom?.cleanupWhitespace.capitalizeFirstOfEach}".bodyText(context), - "${context.translation.to} : ${requestDetails!.siteTransferTo?.cleanupWhitespace.capitalizeFirstOfEach}".bodyText(context), - // requestDetails!.status!.replaceAll("=", ":").bodyText(context), - ], - ), - 8.height, - Row( - mainAxisSize: MainAxisSize.min, - children: [ - Text( - context.translation.viewDetails, - style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), - ), - 4.width, - Icon( - Icons.arrow_forward, - color: AppColor.blueStatus(context), - size: 14, - ) + InfoDateWidget(requestDetails!.date ?? ""), ], ), + InfoHeaderWidget(requestDetails?.nameOfType ?? context.translation.deviceTransferRequest), + InfoTextWidget(label: context.translation.trNumber, value: requestDetails!.requestNo), + InfoTextWidget(label: context.translation.from, value: requestDetails!.siteTransferFrom?.cleanupWhitespace.capitalizeFirstOfEach), + InfoTextWidget(label: context.translation.to, value: requestDetails!.siteTransferTo?.cleanupWhitespace.capitalizeFirstOfEach, showArrow: true), + // requestDetails!.status!.replaceAll("=", ":").bodyText(context), ], ).toShadowContainer(context, withShadow: showShadow).onPress(() { Navigator.of(context).push(MaterialPageRoute( diff --git a/lib/new_views/pages/land_page/requests/gas_refill_item_view.dart b/lib/new_views/pages/land_page/requests/gas_refill_item_view.dart index bd6ac0a7..208fdd84 100644 --- a/lib/new_views/pages/land_page/requests/gas_refill_item_view.dart +++ b/lib/new_views/pages/land_page/requests/gas_refill_item_view.dart @@ -1,13 +1,15 @@ import 'package:flutter/material.dart'; import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/int_extensions.dart'; -import 'package:test_sa/extensions/string_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/models/all_requests_and_count_model.dart'; import 'package:test_sa/models/new_models/dashboard_detail.dart'; import 'package:test_sa/models/new_models/gas_refill_model.dart'; import 'package:test_sa/modules/tm_module/gas_refill/gas_refill_details.dart'; +import 'package:test_sa/views/widgets/item_views/info_date_widget.dart'; +import 'package:test_sa/views/widgets/item_views/info_header_widget.dart'; +import 'package:test_sa/views/widgets/item_views/info_text_widget.dart'; import '../../../../views/widgets/requests/request_status.dart'; import '../../../app_style/app_color.dart'; @@ -28,45 +30,17 @@ class GasRefillItemView extends StatelessWidget { Row( crossAxisAlignment: CrossAxisAlignment.start, children: [ - // StatusLabel( - // label: requestData!.priorityName!, - // textColor: AppColor.getRequestStatusTextColorByName(context, requestData!.priorityName!), - // backgroundColor: AppColor.getRequestStatusColorByName(context, requestData!.priorityName!), - // ), - // 8.width, StatusLabel( label: requestData!.statusName!, textColor: AppColor.getRequestStatusTextColorByName(context, requestData!.statusName!), backgroundColor: AppColor.getRequestStatusColorByName(context, requestData!.statusName!), ), 1.width.expanded, - Text(requestData!.transactionDate?.toServiceRequestCardFormat ?? "", - textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50)), - ], - ), - 8.height, - (requestData?.typeTransaction ?? context.translation.gasRefillRequest).heading5(context), - // '${context.translation.gasType}: ${request.gasType}'.bodyText(context), // todo ask ahmed - // '${context.translation.site}: ${request.site?.cleanupWhitespace.capitalizeFirstOfEach}'.bodyText(context),// todo ask ahmed - '${context.translation.requestNo}: ${requestData!.requestNo}'.bodyText(context), - 8.height, - Row( - mainAxisSize: MainAxisSize.min, - children: [ - Text( - context.translation.viewDetails, - style: AppTextStyles.bodyText.copyWith( - color: AppColor.blueStatus(context), - ), - ), - 4.width, - Icon( - Icons.arrow_forward, - color: AppColor.blueStatus(context), - size: 14, - ) + InfoDateWidget(requestData!.transactionDate ?? ""), ], ), + InfoHeaderWidget(requestData?.typeTransaction ?? context.translation.gasRefillRequest), + InfoTextWidget(label: context.translation.requestNo, value: requestData!.requestNo, showArrow: true), ], ).toShadowContainer(context, withShadow: showShadow).onPress(() { Navigator.of(context).push( @@ -85,50 +59,24 @@ class GasRefillItemView extends StatelessWidget { if (requestDetails != null) { return Column( crossAxisAlignment: CrossAxisAlignment.start, + spacing: 1, children: [ Row( crossAxisAlignment: CrossAxisAlignment.start, children: [ - // StatusLabel( - // label: requestDetails!.priority!, - // textColor: AppColor.getRequestStatusTextColorByName(context, requestDetails!.priority!), - // backgroundColor: AppColor.getRequestStatusColorByName(context, requestDetails!.priority!), - // ), - // 8.width, StatusLabel( label: requestDetails!.status!, textColor: AppColor.getRequestStatusTextColorByName(context, requestDetails!.status!), backgroundColor: AppColor.getRequestStatusColorByName(context, requestDetails!.status!), ), 1.width.expanded, - Text(requestDetails!.date?.toServiceRequestCardFormat ?? "", - textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50)), - ], - ), - 8.height, - (requestDetails?.nameOfType ?? context.translation.gasRefillRequest).heading5(context), - 8.height, - '${context.translation.gasType}: ${requestDetails!.gasType}'.bodyText(context), - '${context.translation.site}: ${requestDetails!.site?.cleanupWhitespace?.capitalizeFirstOfEach}'.bodyText(context), - '${context.translation.requestNo}: ${requestDetails!.requestNo}'.bodyText(context), - 8.height, - Row( - mainAxisSize: MainAxisSize.min, - children: [ - Text( - context.translation.viewDetails, - style: AppTextStyles.bodyText.copyWith( - color: AppColor.blueStatus(context), - ), - ), - 4.width, - Icon( - Icons.arrow_forward, - color: AppColor.blueStatus(context), - size: 14, - ) + InfoDateWidget(requestDetails!.date ?? ""), ], ), + InfoHeaderWidget(requestDetails?.nameOfType ?? context.translation.gasRefillRequest), + InfoTextWidget(label: context.translation.gasType, value: requestDetails!.gasType), + InfoTextWidget(label: context.translation.site, value: requestDetails!.site?.cleanupWhitespace.capitalizeFirstOfEach), + InfoTextWidget(label: context.translation.requestNo, value: requestDetails!.requestNo, showArrow: true), ], ).toShadowContainer(context, withShadow: showShadow).onPress(() { Navigator.of(context).push( diff --git a/lib/new_views/pages/land_page/requests/ppm_item_view.dart b/lib/new_views/pages/land_page/requests/ppm_item_view.dart index 7cdbf061..2469f049 100644 --- a/lib/new_views/pages/land_page/requests/ppm_item_view.dart +++ b/lib/new_views/pages/land_page/requests/ppm_item_view.dart @@ -1,13 +1,14 @@ import 'package:flutter/material.dart'; import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/int_extensions.dart'; -import 'package:test_sa/extensions/string_extensions.dart'; -import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/models/all_requests_and_count_model.dart'; import 'package:test_sa/models/new_models/dashboard_detail.dart'; import 'package:test_sa/modules/pm_module/ppm_wo/ppm_details_page.dart'; import 'package:test_sa/new_views/app_style/app_color.dart'; +import 'package:test_sa/views/widgets/item_views/info_date_widget.dart'; +import 'package:test_sa/views/widgets/item_views/info_header_widget.dart'; +import 'package:test_sa/views/widgets/item_views/info_text_widget.dart'; import 'package:test_sa/views/widgets/requests/request_status.dart'; class PpmItemView extends StatelessWidget { @@ -38,33 +39,15 @@ class PpmItemView extends StatelessWidget { backgroundColor: AppColor.getRequestStatusColorByName(context, requestData!.statusName!), ), 1.width.expanded, - Text( - requestData!.transactionDate?.toServiceRequestCardFormat ?? "", - textAlign: TextAlign.end, - style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50), - ), + InfoDateWidget(requestData!.transactionDate ?? ""), ], ), - 8.height, - (requestData?.typeTransaction ?? context.translation.ppmRequest).heading5(context), - 8.height, - '${context.translation.assetName}: ${requestData!.assetName}'.bodyText(context), - '${context.translation.assetNumber}: ${requestData!.assetNumber}'.bodyText(context), + InfoHeaderWidget(requestData?.typeTransaction ?? context.translation.ppmRequest), + InfoTextWidget(label: context.translation.assetName, value: requestData!.assetName), + InfoTextWidget(label: context.translation.assetNumber, value: requestData!.assetNumber), // '${context.translation.assetSN}: ${request.assetSN}'.bodyText(context),//todo ask ahmed // '${context.translation.code}: ${request.code}'.bodyText(context), - 'PM No: ${requestData!.requestNo}'.bodyText(context), - 8.height, - Row( - mainAxisSize: MainAxisSize.min, - children: [ - Text( - context.translation.viewDetails, - style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), - ), - 4.width, - Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14) - ], - ), + InfoTextWidget(label: 'PM No', value: requestData!.requestNo, showArrow: true), ], ).toShadowContainer(context, withShadow: showShadow).onPress(() { Navigator.of(context).push(MaterialPageRoute(builder: (_) => PpmDetailsPage(requestId: requestData!.id!))); @@ -73,6 +56,7 @@ class PpmItemView extends StatelessWidget { if (requestDetails != null) { return Column( crossAxisAlignment: CrossAxisAlignment.start, + spacing: 1, children: [ Row( crossAxisAlignment: CrossAxisAlignment.start, @@ -89,33 +73,15 @@ class PpmItemView extends StatelessWidget { backgroundColor: AppColor.getRequestStatusColorByName(context, requestDetails!.status!), ), 1.width.expanded, - Text( - requestDetails!.date?.toServiceRequestCardFormat ?? "", - textAlign: TextAlign.end, - style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50), - ), + InfoDateWidget(requestDetails!.date ?? ""), ], ), - 8.height, - (requestDetails?.nameOfType ?? context.translation.ppmRequest).heading5(context), - 8.height, - '${context.translation.assetName}: ${requestDetails!.assetName}'.bodyText(context), - '${context.translation.assetNumber}: ${requestDetails!.assetNo}'.bodyText(context), - '${context.translation.assetSN}: ${requestDetails!.assetSN}'.bodyText(context), + InfoHeaderWidget(requestDetails?.nameOfType ?? context.translation.ppmRequest), + InfoTextWidget(label: context.translation.assetName, value: requestDetails!.assetName), + InfoTextWidget(label: context.translation.assetNumber, value: requestDetails!.assetNo), + InfoTextWidget(label: context.translation.assetSN, value: requestDetails!.assetSN), // '${context.translation.code}: ${request.code}'.bodyText(context), - 'PM No: ${requestDetails!.requestNo}'.bodyText(context), - 8.height, - Row( - mainAxisSize: MainAxisSize.min, - children: [ - Text( - context.translation.viewDetails, - style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), - ), - 4.width, - Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14) - ], - ), + InfoTextWidget(label: 'PM No', value: requestDetails!.requestNo, showArrow: true), ], ).toShadowContainer(context, withShadow: showShadow).onPress(() { Navigator.of(context).push(MaterialPageRoute(builder: (_) => PpmDetailsPage(requestId: requestDetails!.id!))); diff --git a/lib/new_views/pages/land_page/requests/recurrent_wo_item_view.dart b/lib/new_views/pages/land_page/requests/recurrent_wo_item_view.dart index 0f63745e..a0050178 100644 --- a/lib/new_views/pages/land_page/requests/recurrent_wo_item_view.dart +++ b/lib/new_views/pages/land_page/requests/recurrent_wo_item_view.dart @@ -4,16 +4,16 @@ import 'package:test_sa/controllers/providers/api/user_provider.dart'; import 'package:test_sa/controllers/providers/settings/setting_provider.dart'; import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/int_extensions.dart'; -import 'package:test_sa/extensions/string_extensions.dart'; -import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/models/all_requests_and_count_model.dart'; import 'package:test_sa/models/enums/user_types.dart'; import 'package:test_sa/models/new_models/dashboard_detail.dart'; -import 'package:test_sa/modules/cleaner_module/models/cleaner_task_search_result.dart'; import 'package:test_sa/modules/cleaner_module/pages/cleaner_search_details_view.dart'; import 'package:test_sa/modules/pm_module/recurrent_wo/recurrent_work_order_view.dart'; import 'package:test_sa/new_views/app_style/app_color.dart'; +import 'package:test_sa/views/widgets/item_views/info_date_widget.dart'; +import 'package:test_sa/views/widgets/item_views/info_header_widget.dart'; +import 'package:test_sa/views/widgets/item_views/info_text_widget.dart'; import 'package:test_sa/views/widgets/requests/request_status.dart'; class RecurrentWoItemView extends StatelessWidget { @@ -47,32 +47,11 @@ class RecurrentWoItemView extends StatelessWidget { backgroundColor: AppColor.getRequestStatusColorByName(context, requestData!.statusName!), ), 1.width.expanded, - Text( - requestData!.transactionDate?.toServiceRequestCardFormat ?? "", - textAlign: TextAlign.end, - style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50), - ), - ], - ), - 8.height, - (requestData?.typeTransaction ?? context.translation.ppmRequest).heading5(context), - 8.height, - // '${context.translation.assetNumber}: ${requestData!.assetNumber}'.bodyText(context), - // '${context.translation.assetSN}: ${request.assetSN}'.bodyText(context),//todo ask ahmed - // '${context.translation.code}: ${request.code}'.bodyText(context), - '${context.translation.taskNo}: ${requestData!.requestNo}'.bodyText(context), - 8.height, - Row( - mainAxisSize: MainAxisSize.min, - children: [ - Text( - context.translation.viewDetails, - style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), - ), - 4.width, - Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14) + InfoDateWidget(requestData!.transactionDate ?? ""), ], ), + InfoHeaderWidget(requestData?.typeTransaction ?? context.translation.ppmRequest), + InfoTextWidget(label: context.translation.taskNo, value: requestData!.requestNo, showArrow: true), ], ).toShadowContainer(context, withShadow: showShadow).onPress(() { if (isFMSEngineer && (requestData?.statusValue == 4)) { @@ -93,6 +72,7 @@ class RecurrentWoItemView extends StatelessWidget { if (requestDetails != null) { return Column( crossAxisAlignment: CrossAxisAlignment.start, + spacing: 1, children: [ Row( crossAxisAlignment: CrossAxisAlignment.start, @@ -109,32 +89,12 @@ class RecurrentWoItemView extends StatelessWidget { backgroundColor: AppColor.getRequestStatusColorByName(context, requestDetails!.status!), ), 1.width.expanded, - Text( - requestDetails!.date?.toServiceRequestCardFormat ?? "", - textAlign: TextAlign.end, - style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50), - ), - ], - ), - 8.height, - (requestDetails?.nameOfType ?? context.translation.recurrentWo).heading5(context), - 8.height, - // '${context.translation.taskNo}: ${requestDetails!.id}'.bodyText(context), - '${context.translation.site}: ${requestDetails!.site}'.bodyText(context), - // '${context.translation.code}: ${request.code}'.bodyText(context), - '${context.translation.taskNo}: ${requestDetails!.requestNo}'.bodyText(context), - 8.height, - Row( - mainAxisSize: MainAxisSize.min, - children: [ - Text( - context.translation.viewDetails, - style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), - ), - 4.width, - Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14) + InfoDateWidget(requestDetails!.date ?? ""), ], ), + InfoHeaderWidget(requestDetails?.nameOfType ?? context.translation.recurrentWo), + InfoTextWidget(label: context.translation.site, value: requestDetails!.site), + InfoTextWidget(label: context.translation.taskNo, value: requestDetails!.requestNo, showArrow: true), ], ).toShadowContainer(context, withShadow: showShadow).onPress(() async { if (isFMSEngineer && (requestDetails?.statusValue == 4)) {