From 13be4e960a4cf5971028d5aae102028b00c005ea Mon Sep 17 00:00:00 2001 From: Sikander Saleem Date: Thu, 19 Jun 2025 12:35:34 +0300 Subject: [PATCH] notification issue, otp issue fixed. --- .../firebase_notification_manger.dart | 25 +++++++++-------- .../providers/api/user_provider.dart | 2 +- .../service_request_detail_provider.dart | 2 +- .../views/components/verify_arrival_view.dart | 27 +++++++++---------- 4 files changed, 28 insertions(+), 28 deletions(-) diff --git a/lib/controllers/notification/firebase_notification_manger.dart b/lib/controllers/notification/firebase_notification_manger.dart index 26fe0e69..50371c4f 100644 --- a/lib/controllers/notification/firebase_notification_manger.dart +++ b/lib/controllers/notification/firebase_notification_manger.dart @@ -84,6 +84,9 @@ class FirebaseNotificationManger { static void handleMessage(context, Map messageData) { if (messageData["requestType"] != null && messageData["requestNumber"] != null) { Widget? serviceClass; + + String? transactionType = messageData["transactionType"]?.toString(); + // PPM=1, // ServiceRequestEngineer = 3, // AssetTransfer=7, @@ -91,31 +94,31 @@ class FirebaseNotificationManger { // GasRefill=9, // TechnicalRetirmentWO = 11, // Recurrent = 12,​ - switch (messageData["transactionType"]) { - case 1: + switch (transactionType) { + case "1": serviceClass = PpmDetailsPage(requestId: int.parse(messageData["requestNumber"].toString())); break; //these three request are same corrective maintenance.... - case 3: - serviceClass = ServiceRequestDetailMain(requestId: messageData["requestNumber"] ?? ''); + case "3": + serviceClass = ServiceRequestDetailMain(requestId: int.parse(messageData["requestNumber"].toString())); break; - case 8: - serviceClass = ServiceRequestDetailMain(requestId: messageData["requestNumber"] ?? ''); + case "8": + serviceClass = ServiceRequestDetailMain(requestId: int.parse(messageData["requestNumber"].toString())); break; - case 11: - serviceClass = ServiceRequestDetailMain(requestId: messageData["requestNumber"] ?? ''); + case "11": + serviceClass = ServiceRequestDetailMain(requestId: int.parse(messageData["requestNumber"].toString())); break; - case 7: + case "7": serviceClass = DeviceTransferDetails(model: DeviceTransfer(id: int.parse(messageData["requestNumber"].toString()))); break; - case 9: + case "9": serviceClass = GasRefillDetailsPage( priority: messageData["priority"], date: messageData["createdOn"], model: GasRefillModel(id: int.parse(messageData["requestNumber"].toString())), ); break; - case 12: + case "12": serviceClass = RecurrentWorkOrderView(taskId: int.parse(messageData["requestNumber"].toString())); //Didn't handle task request yet... // case 6: diff --git a/lib/controllers/providers/api/user_provider.dart b/lib/controllers/providers/api/user_provider.dart index 296be168..559ef226 100644 --- a/lib/controllers/providers/api/user_provider.dart +++ b/lib/controllers/providers/api/user_provider.dart @@ -295,7 +295,7 @@ class UserProvider extends ChangeNotifier { "userId": userId, }; try { - response = await ApiManager.instance.post(URLs.getSwipeLastTransactionUrl, body: body); + response = await ApiManager.instance.post(URLs.getSwipeLastTransactionUrl, body: body,showToast: false); if (response.statusCode >= 200 && response.statusCode < 300) { swipeTransactionModel = SwipeTransaction.fromJson(json.decode(response.body)['data']); diff --git a/lib/modules/cm_module/service_request_detail_provider.dart b/lib/modules/cm_module/service_request_detail_provider.dart index 55df5224..8d333177 100644 --- a/lib/modules/cm_module/service_request_detail_provider.dart +++ b/lib/modules/cm_module/service_request_detail_provider.dart @@ -945,7 +945,7 @@ class ServiceRequestDetailProvider extends ChangeNotifier { isLoading = true; notifyListeners(); try { - final response = await ApiManager.instance.post(URLs.sendOtpUrl + "$workOrderId", body: {}); + final response = await ApiManager.instance.post(URLs.sendOtpUrl + "$workOrderId", body: {},showToast: false); stateCode = response.statusCode; if (response.statusCode >= 200 && response.statusCode < 300) {} isLoading = false; diff --git a/lib/modules/cm_module/views/components/verify_arrival_view.dart b/lib/modules/cm_module/views/components/verify_arrival_view.dart index 942949ed..6c55c953 100644 --- a/lib/modules/cm_module/views/components/verify_arrival_view.dart +++ b/lib/modules/cm_module/views/components/verify_arrival_view.dart @@ -49,7 +49,7 @@ class _VerifyArrivalViewState extends State { //backgroundColor: const Color(0xfff8f9fb), body: Consumer(builder: (context, ServiceRequestDetailProvider requestDetailProvider, child) { return SafeArea( - child: requestDetailProvider.isArrivalLoading + child: requestDetailProvider.isArrivalLoading || requestDetailProvider.isLoading ? const CircularProgressIndicator(color: AppColor.primary10).center : requestDetailProvider.arrivalTypeList.isEmpty ? const NoDataFound().center @@ -62,6 +62,7 @@ class _VerifyArrivalViewState extends State { icon: item.verificationTypes!.icon ?? '', heading: item.verificationTypes!.name ?? '', subHeading: item.description ?? '', + // isLoading: requestDetailProvider.isLoading, onTap: () { onItemTap(requestDetailProvider: requestDetailProvider, context: context, verificationTypeId: item.verificationTypes?.value); }); @@ -72,7 +73,7 @@ class _VerifyArrivalViewState extends State { ); } - Widget customListItem({required String icon, required String heading, required String subHeading, required VoidCallback onTap}) { + Widget customListItem({required String icon, required String heading, required String subHeading, required VoidCallback onTap, bool isLoading = false}) { return GestureDetector( onTap: onTap, // Handles the tap child: Card( @@ -81,33 +82,29 @@ class _VerifyArrivalViewState extends State { ), color: Colors.white, child: Row( - crossAxisAlignment: CrossAxisAlignment.start, // Align items at the top + crossAxisAlignment: CrossAxisAlignment.center, // Align items at the top children: [ - // Icon Section - icon - .toSvgAsset( - width: 32, - color: AppColor.neutral120, - height: 29, - ) - .paddingOnly(top: 8), - 14.width, + icon.toSvgAsset(width: 30, color: AppColor.neutral120, height: 30).paddingOnly(top: 0), + 12.width, Expanded( child: Column( crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, children: [ Text( heading, style: AppTextStyles.heading6.copyWith(color: AppColor.neutral50), ), - 7.height, + 6.height, Text( subHeading, style: AppTextStyles.bodyText2.copyWith(color: AppColor.neutral120), ), ], - ).paddingOnly(end: 50), + ), ), + 12.width, + SizedBox(width: 24, height: 24, child: isLoading ? const CircularProgressIndicator(color: AppColor.primary10, strokeWidth: 2) : const SizedBox()) ], ).paddingAll(12), ), @@ -150,7 +147,7 @@ class _VerifyArrivalViewState extends State { } break; case 3: - requestDetailProvider.sendOtp(workOrderId: requestDetailProvider.currentWorkOrder!.data!.requestId!); + await requestDetailProvider.sendOtp(workOrderId: requestDetailProvider.currentWorkOrder!.data!.requestId!); Navigator.pushReplacement( context, MaterialPageRoute(builder: (context) => const VerifyOtpView()),