diff --git a/lib/new_views/common_widgets/default_app_bar.dart b/lib/new_views/common_widgets/default_app_bar.dart index aabb7477..6cc8bd5a 100644 --- a/lib/new_views/common_widgets/default_app_bar.dart +++ b/lib/new_views/common_widgets/default_app_bar.dart @@ -3,6 +3,7 @@ import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; +import 'package:test_sa/new_views/pages/land_page/land_page.dart'; import '../app_style/app_color.dart'; @@ -10,10 +11,29 @@ class DefaultAppBar extends StatelessWidget implements PreferredSizeWidget { final String? title; final List? actions; final Function? onBackPress; - const DefaultAppBar({this.title, this.onBackPress, this.actions, Key? key}) : super(key: key); + final bool showHomeActionButton; + + const DefaultAppBar({this.title, this.onBackPress, this.actions, this.showHomeActionButton = false, Key? key}) : super(key: key); @override Widget build(BuildContext context) { + List _actions = []; + + if (showHomeActionButton) { + _actions.add( + IconButton( + icon: const Icon(Icons.home), + onPressed: () { + // stopTimer(); + Navigator.pop(context); + Navigator.popUntil(context, (ModalRoute.withName(LandPage.routeName))); + }, + ), + ); + } + if (actions?.isNotEmpty ?? false) { + _actions.addAll(actions!); + } return AppBar( automaticallyImplyLeading: false, titleSpacing: 16, @@ -33,7 +53,7 @@ class DefaultAppBar extends StatelessWidget implements PreferredSizeWidget { ).expanded, ], ), - actions: actions, + actions: _actions, ); } diff --git a/lib/new_views/pages/login_page.dart b/lib/new_views/pages/login_page.dart index 67e75d2d..b2a0bd2a 100644 --- a/lib/new_views/pages/login_page.dart +++ b/lib/new_views/pages/login_page.dart @@ -224,7 +224,7 @@ class _LoginPageState extends State { context.translation.signInToYour.customHeadingText(context).custom(color: Colors.white, fontSize: 27, fontWeight: FontWeight.w500), context.translation.account.customHeadingText(context).custom(color: Colors.white, fontSize: 27, fontWeight: FontWeight.w500), 15.height, - context.translation.letSignInToAccount.customHeadingText(context).custom(color: Colors.white, fontWeight: FontWeight.w500, fontSize: 12), + // context.translation.letSignInToAccount.customHeadingText(context).custom(color: Colors.white, fontWeight: FontWeight.w500, fontSize: 12), ], ), ), diff --git a/lib/service_request_latest/views/components/action_button/footer_action_button.dart b/lib/service_request_latest/views/components/action_button/footer_action_button.dart index 02570263..3cc99492 100644 --- a/lib/service_request_latest/views/components/action_button/footer_action_button.dart +++ b/lib/service_request_latest/views/components/action_button/footer_action_button.dart @@ -38,7 +38,7 @@ class FooterActionButton { {required WorkOrderNextStepEnum workOrderNextStepStatus, List activities = const [], required BuildContext context, required UserProvider userProvider}) { ServiceRequestDetailProvider requestDetailProvider = Provider.of(context, listen: false); - bool showMarkAsFixedButton = activities.isEmpty ? false : activities.any((object) => object.activityStatus!.name!.toLowerCase() == "fixed"); + bool showMarkAsFixedButton = activities.isEmpty ? false : activities.any((object) => object.activityStatus!.value == 14 || object.activityStatus!.value == 14);// 14 = Fixed and 14 = Out of scope //todo Ask backend for out of scope value if (userProvider.user?.type == UsersTypes.engineer) { switch (workOrderNextStepStatus) { case WorkOrderNextStepEnum.onlyView: diff --git a/lib/service_request_latest/views/components/activities_list_view.dart b/lib/service_request_latest/views/components/activities_list_view.dart index f2159926..b10e3aa3 100644 --- a/lib/service_request_latest/views/components/activities_list_view.dart +++ b/lib/service_request_latest/views/components/activities_list_view.dart @@ -4,7 +4,6 @@ import 'package:test_sa/controllers/api_routes/urls.dart'; import 'package:test_sa/controllers/providers/api/user_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/enums/user_types.dart'; @@ -41,8 +40,6 @@ class ActivitiesListView extends StatefulWidget { } class _ActivitiesListViewState extends State { - bool showReorderView = false; - @override void initState() { super.initState(); @@ -62,80 +59,85 @@ class _ActivitiesListViewState extends State { UserProvider userProvider = Provider.of(context); return Scaffold( appBar: DefaultAppBar( + showHomeActionButton: true, title: context.translation.activities, - actions: [if (!showReorderView) IconButton(onPressed: () => activities.isEmpty ? null : setState(() => showReorderView = true), icon: const Icon(Icons.reorder_rounded))], + // actions: [if (!showReorderView) IconButton(onPressed: () => activities.isEmpty ? null : setState(() => showReorderView = true), icon: const Icon(Icons.reorder_rounded))], ), //backgroundColor: const Color(0xfff8f9fb), body: Consumer(builder: (context, ServiceRequestDetailProvider requestDetailProvider, child) { - if (showReorderView && reOrderActivities.isEmpty) { - reOrderActivities = requestDetailProvider.currentWorkOrder!.data!.activities; - } else { - activities = requestDetailProvider.currentWorkOrder!.data!.activities; - } + activities = requestDetailProvider.currentWorkOrder!.data!.activities; + // if (showReorderView && reOrderActivities.isEmpty) { + // reOrderActivities = requestDetailProvider.currentWorkOrder!.data!.activities; + // } else { + // + // } return Column( children: [ (activities.isEmpty && reOrderActivities.isEmpty) ? NoDataFound(message: context.translation.noDataFound).expanded - : showReorderView - ? ReorderableListView( - padding: const EdgeInsets.all(16), - children: [ - for (int index = 0; index < reOrderActivities.length; index++) - if (reOrderActivities[index].activityMaintenance != null) - ReorderWidget( - key: ValueKey(index), - child: maintenanceActivityCard(requestDetailProvider: requestDetailProvider, userProvider: userProvider, context: context, activity: reOrderActivities[index]) - .paddingOnly(top: 8, bottom: 8), - ) - else - ReorderWidget( - key: ValueKey(index), - child: sparePartActivityCard(requestDetailProvider: requestDetailProvider, userProvider: userProvider, context: context, activity: reOrderActivities[index]) - .paddingOnly(top: 8, bottom: 8), - ) - ], - onReorder: (oldIndex, newIndex) { - setState(() { - if (oldIndex < newIndex) { - newIndex -= 1; - } - final Activities item = reOrderActivities.removeAt(oldIndex); - reOrderActivities.insert(newIndex, item); - }); - }).expanded - : ListView.separated( - padding: const EdgeInsets.all(16), - itemCount: activities.length, - separatorBuilder: (czt, index) => 16.height, - itemBuilder: (context, index) { - if (activities[index].activityMaintenance != null) { - return maintenanceActivityCard(requestDetailProvider: requestDetailProvider, userProvider: userProvider, context: context, activity: activities[index]) - .paddingOnly(top: 8, bottom: 8); - } - return sparePartActivityCard(requestDetailProvider: requestDetailProvider, userProvider: userProvider, context: context, activity: activities[index]); - }, - ).expanded, + : + // : showReorderView + // ? ReorderableListView( + // padding: const EdgeInsets.all(16), + // children: [ + // for (int index = 0; index < reOrderActivities.length; index++) + // if (reOrderActivities[index].activityMaintenance != null) + // ReorderWidget( + // key: ValueKey(index), + // child: maintenanceActivityCard(requestDetailProvider: requestDetailProvider, userProvider: userProvider, context: context, activity: reOrderActivities[index]) + // .paddingOnly(top: 8, bottom: 8), + // ) + // else + // ReorderWidget( + // key: ValueKey(index), + // child: sparePartActivityCard(requestDetailProvider: requestDetailProvider, userProvider: userProvider, context: context, activity: reOrderActivities[index]) + // .paddingOnly(top: 8, bottom: 8), + // ) + // ], + // onReorder: (oldIndex, newIndex) { + // setState(() { + // if (oldIndex < newIndex) { + // newIndex -= 1; + // } + // final Activities item = reOrderActivities.removeAt(oldIndex); + // reOrderActivities.insert(newIndex, item); + // }); + // }).expanded + // : + + ListView.separated( + padding: const EdgeInsets.all(16), + itemCount: activities.length, + separatorBuilder: (czt, index) => 16.height, + itemBuilder: (context, index) { + if (activities[index].activityMaintenance != null) { + return maintenanceActivityCard(requestDetailProvider: requestDetailProvider, userProvider: userProvider, context: context, activity: activities[index]) + .paddingOnly(top: 8, bottom: 8); + } + return sparePartActivityCard(requestDetailProvider: requestDetailProvider, userProvider: userProvider, context: context, activity: activities[index]); + }, + ).expanded, if (userProvider.user!.type == UsersTypes.engineer && (requestDetailProvider.currentWorkOrder?.data?.status?.value != 5 && requestDetailProvider.currentWorkOrder?.data?.status?.value != 3)) FooterActionButton.footerContainer( child: AppFilledButton( - label: showReorderView ? "Confirm Order".addTranslation : context.translation.createNewActivity, + label: context.translation.createNewActivity, maxWidth: true, buttonColor: AppColor.primary10, loading: requestDetailProvider.isLoading, onPressed: () async { - if (showReorderView) { - // requestDetailProvider.currentWorkOrder!.data!.activities = reOrderActivities; - List> data = []; - for (int i = 0; i < reOrderActivities.length; i++) { - data.add({"id": reOrderActivities[i].id, "orderNo": i}); - } - reOrderActivities = []; - requestDetailProvider.reOrderActivities(workOrderId: requestDetailProvider.currentWorkOrder!.data!.requestId!, reOrderActivityDTOs: data); - showReorderView = false; - return; - } + // if (showReorderView) { + // // requestDetailProvider.currentWorkOrder!.data!.activities = reOrderActivities; + // List> data = []; + // for (int i = 0; i < reOrderActivities.length; i++) { + // data.add({"id": reOrderActivities[i].id, "orderNo": i}); + // } + // reOrderActivities = []; + // requestDetailProvider.reOrderActivities(workOrderId: requestDetailProvider.currentWorkOrder!.data!.requestId!, reOrderActivityDTOs: data); + // showReorderView = false; + // return; + // } ServiceRequestBottomSheet.activityTypeBottomSheet(context: context); }, )) diff --git a/lib/service_request_latest/views/components/verify_arrival_view.dart b/lib/service_request_latest/views/components/verify_arrival_view.dart index 03fdc5b5..90ba4439 100644 --- a/lib/service_request_latest/views/components/verify_arrival_view.dart +++ b/lib/service_request_latest/views/components/verify_arrival_view.dart @@ -224,7 +224,7 @@ class _VerifyArrivalViewState extends State { ServiceRequestBottomSheet.waitingForApprovalBottomSheet(context: context).then((value){ requestDetailProvider.isVerifyArrivalBottomSheetOpen=false; }); - bool ?isArrived = await ServiceRequestUtils.listenForApproval(); + bool? isArrived = await ServiceRequestUtils.listenForApproval(); if (requestDetailProvider.isVerifyArrivalBottomSheetOpen) { if (isArrived == null) { "Requester not confirmed you arrival".showToast; diff --git a/lib/service_request_latest/views/nurse/create_new_request_view.dart b/lib/service_request_latest/views/nurse/create_new_request_view.dart index 84a7ae93..58e06fe1 100644 --- a/lib/service_request_latest/views/nurse/create_new_request_view.dart +++ b/lib/service_request_latest/views/nurse/create_new_request_view.dart @@ -166,9 +166,10 @@ class _CreateNewRequestState extends State with TickerProvider child: AppFilledButton( // label: context.translation.submitRequest, buttonColor: AppColor.primary10, - label: (pendingAssetServiceRequest != null && (pendingAssetServiceRequest!.details?.isNotEmpty ?? false)) - ? context.translation.duplicateRequest - : context.translation.createWorkOrder, + label: + // (pendingAssetServiceRequest != null && (pendingAssetServiceRequest!.details?.isNotEmpty ?? false)) + // ? context.translation.duplicateRequest : // @FM said show create work order button text to create request not duplicate request + context.translation.createWorkOrder, onPressed: checkPendingRequest ? null : _submit, // buttonColor: AppColor.primary10, ),