From 313df6da8b1a020e2624361f4a6f5b3e576568ea Mon Sep 17 00:00:00 2001 From: Sikander Saleem Date: Mon, 17 Aug 2026 15:31:31 +0300 Subject: [PATCH] improvements --- .../providers/api/user_provider.dart | 8 +- lib/main.dart | 2 + .../incident_module/incident_detail_page.dart | 80 ++++++++++--------- .../traf_module/traf_request_detail_page.dart | 50 ++++++------ 4 files changed, 76 insertions(+), 64 deletions(-) diff --git a/lib/controllers/providers/api/user_provider.dart b/lib/controllers/providers/api/user_provider.dart index f1b395b6..d1844e35 100644 --- a/lib/controllers/providers/api/user_provider.dart +++ b/lib/controllers/providers/api/user_provider.dart @@ -68,7 +68,13 @@ class UserProvider extends ChangeNotifier { List get modulesPermissionsList => _modulesPermissionsModel; - ModulesPermissionsModel currentModelPermission(int moduleId) => ModulesPermissionsModel.fromJson(_modulesPermissionsModel.singleWhere((module) => module.module!.value == moduleId).toJson()); + ModulesPermissionsModel? currentModelPermission(int moduleId) { + try { + return ModulesPermissionsModel.fromJson(_modulesPermissionsModel.singleWhere((module) => module.module!.value == moduleId).toJson()); + } catch (ex) { + return null; + } + } set swipeHistory(List value) { _swipeHistory = value; diff --git a/lib/main.dart b/lib/main.dart index 50847d8f..29987432 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -68,6 +68,7 @@ import 'package:test_sa/modules/applicationDemo/providers/application_demo_reque import 'package:test_sa/modules/applicationDemo/screens/application_demo_request_form_screen.dart'; import 'package:test_sa/modules/tm_module/gas_refill/create_gas_refill_request.dart'; import 'package:test_sa/modules/tm_module/gas_refill/update_gas_refill_request.dart'; +import 'package:test_sa/modules/traf_module/traf_request_provider.dart'; import 'package:test_sa/new_views/app_style/app_themes.dart'; import 'package:test_sa/new_views/pages/help_center_page.dart'; import 'package:test_sa/new_views/pages/land_page/land_page.dart'; @@ -332,6 +333,7 @@ class MyApp extends StatelessWidget { ChangeNotifierProvider(create: (_) => LoanProvider(), lazy: true), ChangeNotifierProvider(create: (_) => LoanPeriodProvider(), lazy: true), ChangeNotifierProvider(create: (_) => DemoProvider(), lazy: true), + ChangeNotifierProvider(create: (_) => TrafRequestProvider(), lazy: true), // MEDICAL GAS INSPECTION PROVIDERS (4) ChangeNotifierProvider(create: (_) => MedicalGasOrderTypeProvider(), lazy: true), diff --git a/lib/modules/incident_module/incident_detail_page.dart b/lib/modules/incident_module/incident_detail_page.dart index 4f9ade6e..e9602f8c 100644 --- a/lib/modules/incident_module/incident_detail_page.dart +++ b/lib/modules/incident_module/incident_detail_page.dart @@ -33,49 +33,51 @@ class IncidentDetailPage extends StatelessWidget { Widget build(BuildContext context) { return Scaffold( appBar: const DefaultAppBar(title: "Request Details"), - body: FutureBuilder( - future: Provider.of(context, listen: false).getIncidentById(incidentId), - builder: (BuildContext context, AsyncSnapshot snapshot) { - if (snapshot.connectionState == ConnectionState.waiting) return CircularProgressIndicator(color: AppColor.loadingColor(context)).center; - if (snapshot.data == null) return const NoDataFound().center; + body: SafeArea( + child: FutureBuilder( + future: Provider.of(context, listen: false).getIncidentById(incidentId), + builder: (BuildContext context, AsyncSnapshot snapshot) { + if (snapshot.connectionState == ConnectionState.waiting) return CircularProgressIndicator(color: AppColor.loadingColor(context)).center; + if (snapshot.data == null) return const NoDataFound().center; - List allAttachments = snapshot.data!.incidentAttachments!; + List allAttachments = snapshot.data!.incidentAttachments!; - return SingleChildScrollView( - padding: const EdgeInsets.all(16), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - StatusLabel( - label: snapshot.data!.incidentStatusName!, - textColor: AppColor.getRequestStatusTextColorByName(context, snapshot.data!.incidentStatusName!), - backgroundColor: AppColor.getRequestStatusColorByName(context, snapshot.data!.incidentStatusName!), - ), - 1.width.expanded, - InfoDateWidget(snapshot.data!.createdDate?.toString() ?? ""), - ], - ), - // 12.height, - ...requesterDetails(context, snapshot.data!), - const Divider().defaultStyle(context), - ...requestDetails(context, snapshot.data!), - if (snapshot.data!.ovrTicketNumber?.isNotEmpty ?? false) ovrInformation(context, snapshot.data!.ovrTicketNumber!), - const Divider().defaultStyle(context), - ...assetDetails(context, snapshot.data!), - const Divider().defaultStyle(context), - ...personInvolvedDetails(context, snapshot.data!), - if (allAttachments.isNotEmpty) ...[ + return SingleChildScrollView( + padding: const EdgeInsets.all(16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + StatusLabel( + label: snapshot.data!.incidentStatusName!, + textColor: AppColor.getRequestStatusTextColorByName(context, snapshot.data!.incidentStatusName!), + backgroundColor: AppColor.getRequestStatusColorByName(context, snapshot.data!.incidentStatusName!), + ), + 1.width.expanded, + InfoDateWidget(snapshot.data!.createdDate?.toString() ?? ""), + ], + ), + // 12.height, + ...requesterDetails(context, snapshot.data!), + const Divider().defaultStyle(context), + ...requestDetails(context, snapshot.data!), + if (snapshot.data!.ovrTicketNumber?.isNotEmpty ?? false) ovrInformation(context, snapshot.data!.ovrTicketNumber!), const Divider().defaultStyle(context), - InfoHeader16Widget("Attachments".addTranslation), - FilesList(images: allAttachments.map((e) => URLs.getFileUrl(e.attachmentName ?? '') ?? '').toList() ?? []), + ...assetDetails(context, snapshot.data!), + const Divider().defaultStyle(context), + ...personInvolvedDetails(context, snapshot.data!), + if (allAttachments.isNotEmpty) ...[ + const Divider().defaultStyle(context), + InfoHeader16Widget("Attachments".addTranslation), + FilesList(images: allAttachments.map((e) => URLs.getFileUrl(e.attachmentName ?? '') ?? '').toList() ?? []), + ], ], - ], - ).toShadowContainer(context), - ); - })); + ).toShadowContainer(context), + ); + }), + )); } List requestDetails(BuildContext context, IncidentDataModel incidentData) { diff --git a/lib/modules/traf_module/traf_request_detail_page.dart b/lib/modules/traf_module/traf_request_detail_page.dart index 00673a35..7f20e018 100644 --- a/lib/modules/traf_module/traf_request_detail_page.dart +++ b/lib/modules/traf_module/traf_request_detail_page.dart @@ -67,30 +67,32 @@ class _TrafRequestDetailPageState extends State { } return trafProvider.trafRequestDataModel == null ? const NoDataFound().center - : Column( - children: [ - ListView( - padding: const EdgeInsets.all(16), - children: [ - requesterInformation(trafProvider.trafRequestDataModel!), - 12.height, - requestInformation(trafProvider.trafRequestDataModel!), - 12.height, - assetInformation(trafProvider.trafRequestDataModel!), - ], - ).expanded, - // // if (isEngineer) - // FooterActionButton.footerContainer( - // context: context, - // child: AppFilledButton( - // buttonColor: AppColor.primary10, - // label: "Update", - // onPressed: () { - // Navigator.pushNamed(context, UpdateTrafRequestPage.id); - // }), - // ), - ], - ); + : SafeArea( + child: Column( + children: [ + ListView( + padding: const EdgeInsets.all(16), + children: [ + requesterInformation(trafProvider.trafRequestDataModel!), + 12.height, + requestInformation(trafProvider.trafRequestDataModel!), + 12.height, + assetInformation(trafProvider.trafRequestDataModel!), + ], + ).expanded, + // // if (isEngineer) + // FooterActionButton.footerContainer( + // context: context, + // child: AppFilledButton( + // buttonColor: AppColor.primary10, + // label: "Update", + // onPressed: () { + // Navigator.pushNamed(context, UpdateTrafRequestPage.id); + // }), + // ), + ], + ), + ); }, )); }