diff --git a/lib/main.dart b/lib/main.dart index 6dc4fe6..a2fa5ad 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -6,6 +6,7 @@ import 'package:mc_common_app/repositories/schedule_repo.dart'; import 'package:car_provider_app/view_models/dashboard_view_model.dart'; import 'package:car_provider_app/view_models/items_view_model.dart'; import 'package:car_provider_app/view_models/schedule_view_model.dart'; +import 'package:mc_common_app/repositories/shipping_repo.dart'; import 'package:mc_common_app/services/firebase_service.dart'; import 'package:mc_common_app/view_models/service_view_model.dart'; import 'package:easy_localization/easy_localization.dart'; @@ -33,6 +34,7 @@ import 'package:mc_common_app/view_models/base_view_model.dart'; import 'package:mc_common_app/view_models/chat_view_model.dart'; import 'package:mc_common_app/view_models/payment_view_model.dart'; import 'package:mc_common_app/view_models/requests_view_model.dart'; +import 'package:mc_common_app/view_models/shipping_management_view_model.dart'; import 'package:mc_common_app/view_models/subscriptions_view_model.dart'; import 'package:mc_common_app/view_models/user_view_model.dart'; import 'package:mc_common_app/widgets/extensions/extensions_widget.dart'; @@ -76,14 +78,6 @@ Future main() async { commanServices: injector.get(), ), ), - - // ChangeNotifierProvider( - // create: (_) => BranchVM( - // branchRepo: injector.get(), - // commonServices: injector.get(), - // commonRepo: injector.get(), - // ), - // ), ChangeNotifierProvider( create: (_) => ServiceVM( branchRepo: injector.get(), @@ -140,6 +134,11 @@ Future main() async { paymentRepo: injector.get(), ), ), + ChangeNotifierProvider( + create: (_) => ShippingManagementVM( + shippingRepo: injector.get(), + commonRepo: injector.get(), + )), ], child: const MyApp(), ).setupLocale()); diff --git a/lib/view_models/dashboard_view_model.dart b/lib/view_models/dashboard_view_model.dart index 03b3266..2303352 100644 --- a/lib/view_models/dashboard_view_model.dart +++ b/lib/view_models/dashboard_view_model.dart @@ -13,6 +13,7 @@ import 'package:mc_common_app/repositories/user_repo.dart'; import 'package:mc_common_app/services/common_services.dart'; import 'package:mc_common_app/utils/enums.dart'; import 'package:mc_common_app/utils/navigator.dart'; +import 'package:mc_common_app/view_models/shipping_management_view_model.dart'; import 'package:provider/provider.dart'; import 'package:mc_common_app/utils/location/Location.dart'; import 'package:mc_common_app/utils/shared_prefrence.dart'; @@ -85,11 +86,13 @@ class DashboardVM extends BaseVM { final requestsVM = context.read(); final chatVM = context.read(); final appointmentVM = context.read(); + final shippingManagementVM = context.read(); final serviceVM = context.read(); final adVm = context.read(); final subscriptionsVM = context.read(); requestsVM.populateDataForRequestsFilter(); appointmentVM.populateAppointmentsFilterList(); + shippingManagementVM.populateShippingRequestFilterList(); await serviceVM.getBranchAndServices(); await appointmentVM.getMyAppointmentsForProvider({"ServiceProviderID": injector.get().getUser.data?.userInfo?.providerId.toString() ?? "0"}); adVm.populateAdsFilterList(); diff --git a/lib/views/settings/services/create_item_page.dart b/lib/views/settings/services/create_item_page.dart index fa405f4..99f6375 100644 --- a/lib/views/settings/services/create_item_page.dart +++ b/lib/views/settings/services/create_item_page.dart @@ -45,9 +45,13 @@ class _CreateItemPageState extends State { description = itemData!.description; price = itemData!.price; + if (itemData!.pictureUrl != null && itemData!.pictureUrl!.isNotEmpty) { + pickedImage.clear(); + pickedImage.add(ImageModel(isFromNetwork: true, id: 1, filePath: itemData!.pictureUrl!)); + } + //TODO: need to discuss with zahoor year and picture if (itemData!.manufactureDate != null) year = DateHelper.formatAsYearMonthDay(DateHelper.parseStringToDate(itemData!.manufactureDate ?? DateTime.now().toString())); - isAppointmentAvailable = itemData!.isAllowAppointment ?? false; isWorkshopAppointmentAvailable = itemData!.isAppointmentCompanyLoc ?? false; isHomeAppointmentAvailable = itemData!.isAppointmentCustomerLoc ?? false; @@ -116,9 +120,9 @@ class _CreateItemPageState extends State { }, ), 12.height, - if (file != null) ...[ + if (pickedImage.isNotEmpty) ...[ PickedFilesContainer( - pickedFiles: pickedImages(), + pickedFiles: pickedImage, onCrossPressedPrimary: onCrossPress, isPdf: false, isReview: false, @@ -126,6 +130,9 @@ class _CreateItemPageState extends State { allowAdButton: false, onAddFilePressed: () async { file = await itemsVM!.pickSingleFile(context); + if (file != null) { + pickedImage.add(ImageModel(isFromNetwork: false, id: 1, filePath: file!.path)); + } setState(() {}); }, ), @@ -134,6 +141,9 @@ class _CreateItemPageState extends State { DottedRectContainer( onTap: () async { file = await itemsVM!.pickSingleFile(context); + if (file != null) { + pickedImage.add(ImageModel(isFromNetwork: false, id: 1, filePath: file!.path)); + } setState(() {}); }, text: LocaleKeys.attachImage.tr(), @@ -267,14 +277,9 @@ class _CreateItemPageState extends State { void onCrossPress(String item) { file = null; + pickedImage.clear(); setState(() {}); } - List pickedImages() { - List pickedImage = []; - if (file != null) { - pickedImage.add(ImageModel(isFromNetwork: false, id: 1, filePath: file!.path)); - } - return pickedImage; - } + List pickedImage = []; }