From b6e1a6e95cf9eb981e0e6cf66bc7c5ff19d00fc7 Mon Sep 17 00:00:00 2001 From: Faiz Hashmi Date: Thu, 7 Nov 2024 13:13:20 +0300 Subject: [PATCH] Issues Fixed --- lib/config/customer_routes.dart | 5 ++--- .../branches/components/items_list_sheet.dart | 15 ++++++++++----- lib/views/branches/favourite_list_view.dart | 3 ++- lib/views/dashboard/dashboard_view.dart | 8 ++++++-- .../fragments/appointments_fragment.dart | 16 +++++++++++++++- lib/views/dashboard/widgets/bottom_nav_bar.dart | 2 +- 6 files changed, 36 insertions(+), 13 deletions(-) diff --git a/lib/config/customer_routes.dart b/lib/config/customer_routes.dart index 0b4cd9f..d97e565 100644 --- a/lib/config/customer_routes.dart +++ b/lib/config/customer_routes.dart @@ -1,11 +1,11 @@ import 'package:car_customer_app/views/branches/branch_detail_view.dart'; import 'package:car_customer_app/views/branches/favourite_list_view.dart'; import 'package:car_customer_app/views/branches/provider_profile_view.dart'; +import 'package:mc_common_app/utils/enums.dart'; import 'package:mc_common_app/views/appointments/appointment_detail_view.dart'; import 'package:mc_common_app/views/appointments/book_appointment_schedules_view.dart'; import 'package:mc_common_app/views/appointments/book_appointment_services_view.dart'; import 'package:mc_common_app/views/appointments/book_appointments_item_view.dart'; -import 'package:mc_common_app/views/appointments/pick_items_view.dart'; import 'package:mc_common_app/views/appointments/review_appointment_view.dart'; import 'package:car_customer_app/views/dashboard/dashboard_view.dart'; import 'package:flutter/cupertino.dart'; @@ -17,8 +17,7 @@ import 'package:mc_common_app/views/appointments/appointments_filter_view.dart'; class CustomerAppRoutes { static final Map routes = { - AppRoutes.dashboard: (context) => DashboardView(), - AppRoutes.bookProviderAppView: (context) => BookProviderAppView(), + AppRoutes.dashboard: (context) => DashboardView(dashboardRouteEnum: ModalRoute.of(context)!.settings.arguments as DashboardRouteEnum), AppRoutes.appointmentDetailView: (context) => AppointmentDetailView(appointmentListModel: ModalRoute.of(context)!.settings.arguments as AppointmentListModel), AppRoutes.bookAppointmenServicesView: (context) => BookAppointmentServicesView(), AppRoutes.bookAppointmenSchedulesView: (context) => BookAppointmentSchedulesView( diff --git a/lib/views/branches/components/items_list_sheet.dart b/lib/views/branches/components/items_list_sheet.dart index bf4629a..92cb113 100644 --- a/lib/views/branches/components/items_list_sheet.dart +++ b/lib/views/branches/components/items_list_sheet.dart @@ -2,6 +2,7 @@ import 'dart:async'; import 'package:mc_common_app/generated/locale_keys.g.dart'; import 'package:mc_common_app/models/services_models/item_model.dart'; +import 'package:mc_common_app/utils/date_helper.dart'; import 'package:mc_common_app/utils/enums.dart'; import 'package:mc_common_app/view_models/appointments_view_model.dart'; import 'package:flutter/material.dart'; @@ -14,9 +15,9 @@ import 'package:provider/provider.dart'; import 'package:easy_localization/easy_localization.dart'; class ItemsListSheet extends StatefulWidget { - final int serviceId; + final int serviceProviderServiceId; - ItemsListSheet(this.serviceId); + ItemsListSheet(this.serviceProviderServiceId); @override State createState() => _ItemsListSheetState(); @@ -26,7 +27,7 @@ class _ItemsListSheetState extends State { void initState() { super.initState(); scheduleMicrotask(() { - context.read().getServiceItems(widget.serviceId); + context.read().getServiceItems(widget.serviceProviderServiceId); }); } @@ -57,7 +58,11 @@ class _ItemsListSheetState extends State { mainAxisAlignment: MainAxisAlignment.start, children: [ serviceItemModel.name.toString().toText(fontSize: 16, isBold: true), - 4.height, + serviceItemModel.description.toString().toText(fontSize: 12, color: MyColors.lightTextColor), + 8.height, + if (serviceItemModel.manufactureDate != null && serviceItemModel.manufactureDate!.isNotEmpty) ...[ + showItem(LocaleKeys.manufacturedOn.tr() + ":", (DateHelper.formatAsDayMonthYear(DateHelper.parseStringToDate(serviceItemModel.manufactureDate!))), valueColor: MyColors.darkTextColor), + ], showItem(LocaleKeys.availableforAppointment.tr() + ":", (serviceItemModel.isAllowAppointment ?? false) ? "Yes" : "No", valueColor: Colors.green), showItem(LocaleKeys.allowingWorkshopService.tr() + ":", (serviceItemModel.isAppointmentCompanyLoc ?? false) ? "Yes" : "No", valueColor: Colors.green), showItem(LocaleKeys.allowingHomeService.tr() + ":", (serviceItemModel.isAppointmentCustomerLoc ?? false) ? "Yes" : "No", valueColor: Colors.green), @@ -104,7 +109,7 @@ class _ItemsListSheetState extends State { crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start, children: [ - item.toText(fontSize: 12, color: MyColors.lightTextColor, isBold: true), + item.toText(fontSize: 12, color: MyColors.lightTextColor), 4.width, value.toText(fontSize: 12, color: valueColor, isBold: true), ], diff --git a/lib/views/branches/favourite_list_view.dart b/lib/views/branches/favourite_list_view.dart index 7425eb0..a690d3d 100644 --- a/lib/views/branches/favourite_list_view.dart +++ b/lib/views/branches/favourite_list_view.dart @@ -67,11 +67,12 @@ class _FavoriteListViewState extends State { itemBuilder: (context, index) { ProviderProfileModel providerProfileModel = appointmentsVM.myFavProvidersList[index]; return ProviderDetailCard( + isFromFavoriteList: true, onCardTapped: () => navigateWithName(context, AppRoutes.providerProfileView, arguments: providerProfileModel.providerID), providerImageUrl: MyAssets.bnCar, title: providerProfileModel.name ?? "", description: providerProfileModel.companyDescription ?? "", - startedSince: DateHelper.formatAsMonthYear(DateHelper.parseStringToDate(DateHelper.formatDateT(providerProfileModel.memberSince ?? ""))), + startedSince: DateHelper.formatAsDayMonthYear(DateHelper.parseStringToDate(DateHelper.formatDateT(providerProfileModel.memberSince ?? ""))), branches: providerProfileModel.serviceProviderBranch ?? [], totalBranches: (providerProfileModel.noOfBranches ?? 0).toString(), ); diff --git a/lib/views/dashboard/dashboard_view.dart b/lib/views/dashboard/dashboard_view.dart index b81942f..5a51fa3 100644 --- a/lib/views/dashboard/dashboard_view.dart +++ b/lib/views/dashboard/dashboard_view.dart @@ -1,8 +1,10 @@ import 'dart:async'; +import 'dart:developer'; import 'package:car_customer_app/views/dashboard/fragments/appointments_fragment.dart'; import 'package:car_customer_app/views/dashboard/fragments/home_fragment.dart'; import 'package:car_customer_app/views/dashboard/widgets/bottom_nav_bar.dart'; import 'package:flutter/material.dart'; +import 'package:mc_common_app/utils/enums.dart'; import 'package:mc_common_app/view_models/dashboard_view_model_customer.dart'; import 'package:mc_common_app/views/common_fragments/requests_fragment.dart'; import 'package:provider/provider.dart'; @@ -10,7 +12,9 @@ import 'fragments/branches_fragment.dart'; import 'package:mc_common_app/views/common_fragments/ads_fragment.dart'; class DashboardView extends StatefulWidget { - const DashboardView({Key? key}) : super(key: key); + final DashboardRouteEnum dashboardRouteEnum; + + const DashboardView({Key? key, required this.dashboardRouteEnum}) : super(key: key); @override State createState() => _DashboardViewState(); @@ -24,7 +28,7 @@ class _DashboardViewState extends State { void initState() { super.initState(); dashboardVM = Provider.of(context, listen: false); - scheduleMicrotask(() => dashboardVM.onRefresh(context)); + scheduleMicrotask(() => dashboardVM.onRefresh(context, dashboardRouteEnum: widget.dashboardRouteEnum)); } @override diff --git a/lib/views/dashboard/fragments/appointments_fragment.dart b/lib/views/dashboard/fragments/appointments_fragment.dart index 530a36b..df8621f 100644 --- a/lib/views/dashboard/fragments/appointments_fragment.dart +++ b/lib/views/dashboard/fragments/appointments_fragment.dart @@ -59,7 +59,7 @@ class AppointmentsFragment extends StatelessWidget { Expanded( child: RefreshIndicator( onRefresh: () async { - appointmentsVM.getMyAppointmentsForCustomer(); + appointmentsVM.getMyAppointmentsForCustomer(isNeedToRebuild: true); }, child: appointmentsVM.state == ViewState.busy ? const Center(child: CircularProgressIndicator()) @@ -68,6 +68,20 @@ class AppointmentsFragment extends StatelessWidget { mainAxisAlignment: MainAxisAlignment.center, children: [ LocaleKeys.noAppointmentstoShow.tr().toText(fontSize: 16, color: MyColors.lightTextColor), + if (appointmentsVM.appointmentFiltersCounter > 0) ...[ + 8.height, + InkWell( + onTap: () async { + appointmentsVM.clearAppointmentFilters(); + await appointmentsVM.getMyAppointmentsForCustomer(isNeedToRebuild: true); + }, + child: LocaleKeys.clearFilters.tr().toText( + fontSize: 14, + isBold: true, + color: MyColors.darkPrimaryColor, + ), + ), + ], ], ) : ListView.separated( diff --git a/lib/views/dashboard/widgets/bottom_nav_bar.dart b/lib/views/dashboard/widgets/bottom_nav_bar.dart index 802a004..e28edab 100644 --- a/lib/views/dashboard/widgets/bottom_nav_bar.dart +++ b/lib/views/dashboard/widgets/bottom_nav_bar.dart @@ -32,7 +32,7 @@ class CustomBottomNavbar extends StatelessWidget { color: MyColors.lightIconColor, ).paddingAll(5), activeIcon: SvgPicture.asset(MyAssets.homeIcon, color: MyColors.darkIconColor).paddingAll(5), - label: LocaleKeys.home.tr(), + label: LocaleKeys.explore.tr(), ), BottomNavigationBarItem( icon: SvgPicture.asset(MyAssets.announcementIcon).paddingAll(5),