Ad Module Page

pull/3/head
Faiz Hashmi 3 years ago
parent 045ccc6f70
commit fa35392611

@ -11,13 +11,14 @@ import 'package:mc_common_app/config/routes.dart';
import 'package:mc_common_app/models/advertisment_models/ad_details_model.dart'; import 'package:mc_common_app/models/advertisment_models/ad_details_model.dart';
import 'package:mc_common_app/models/appointments_models/appointment_list_model.dart'; import 'package:mc_common_app/models/appointments_models/appointment_list_model.dart';
import 'package:mc_common_app/models/provider_branches_models/branch_detail_model.dart'; import 'package:mc_common_app/models/provider_branches_models/branch_detail_model.dart';
import 'package:mc_common_app/utils/enums.dart';
import 'package:mc_common_app/views/advertisement/ads_detail_view.dart'; import 'package:mc_common_app/views/advertisement/ads_detail_view.dart';
import 'package:mc_common_app/views/advertisement/create_ad_view.dart'; import 'package:mc_common_app/views/advertisement/create_ad_view.dart';
import 'package:mc_common_app/views/advertisement/select_ad_type_view.dart'; import 'package:mc_common_app/views/advertisement/select_ad_type_view.dart';
import 'package:mc_common_app/views/payments/payment_methods_view.dart'; import 'package:mc_common_app/views/payments/payment_methods_view.dart';
import 'package:mc_common_app/views/advertisement/ads_search_filter_view.dart'; import 'package:mc_common_app/views/advertisement/ads_search_filter_view.dart';
class CustomerAppRoutes { class CustomerAppRoutes {
static final Map<String, WidgetBuilder> routes = { static final Map<String, WidgetBuilder> routes = {
AppRoutes.dashboard: (context) => DashboardPage(), AppRoutes.dashboard: (context) => DashboardPage(),
AppRoutes.bookProviderAppView: (context) => BookProviderAppView(), AppRoutes.bookProviderAppView: (context) => BookProviderAppView(),
@ -29,7 +30,7 @@ class CustomerAppRoutes {
AppRoutes.bookAppointmenServicesView: (context) => BookAppointmentServicesView(), AppRoutes.bookAppointmenServicesView: (context) => BookAppointmentServicesView(),
AppRoutes.bookAppointmentsItemView: (context) => BookAppointmentsItemView(), AppRoutes.bookAppointmentsItemView: (context) => BookAppointmentsItemView(),
AppRoutes.reviewAppointmentView: (context) => ReviewAppointment(), AppRoutes.reviewAppointmentView: (context) => ReviewAppointment(),
AppRoutes.paymentMethodsView: (context) => PaymentMethodsView(), AppRoutes.paymentMethodsView: (context) => PaymentMethodsView(paymentType: ModalRoute.of(context)!.settings.arguments as PaymentTypesEnum),
AppRoutes.branchDetailPage: (context) => BranchDetailPage(branchDetailModel: ModalRoute.of(context)!.settings.arguments as BranchDetailModel), AppRoutes.branchDetailPage: (context) => BranchDetailPage(branchDetailModel: ModalRoute.of(context)!.settings.arguments as BranchDetailModel),
AppRoutes.providerProfilePage: (context) => ProviderProfilePage(providerId: ModalRoute.of(context)!.settings.arguments as int), AppRoutes.providerProfilePage: (context) => ProviderProfilePage(providerId: ModalRoute.of(context)!.settings.arguments as int),
}; };

@ -11,6 +11,7 @@ import 'package:car_customer_app/views/dashboard/widgets/drawer_widget.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mc_common_app/classes/consts.dart'; import 'package:mc_common_app/classes/consts.dart';
import 'package:mc_common_app/config/routes.dart'; import 'package:mc_common_app/config/routes.dart';
import 'package:mc_common_app/models/widgets_models.dart';
import 'package:mc_common_app/utils/navigator.dart'; import 'package:mc_common_app/utils/navigator.dart';
import 'package:mc_common_app/view_models/ad_view_model.dart'; import 'package:mc_common_app/view_models/ad_view_model.dart';
import 'package:mc_common_app/widgets/common_widgets/app_bar.dart'; import 'package:mc_common_app/widgets/common_widgets/app_bar.dart';
@ -55,6 +56,22 @@ class _DashboardPageState extends State<DashboardPage> {
if (adVm.exploreAds.isEmpty) { if (adVm.exploreAds.isEmpty) {
await adVm.getExploreAds(); await adVm.getExploreAds();
} }
final adVM = context.read<AdVM>();
if (adVM.vehicleTypes.isEmpty) {
await adVM.getVehicleTypes();
}
if (adVM.vehicleAdsDurations.isEmpty) {
await adVM.getVehicleAdsDuration();
}
adVM.updateVehicleAdDurationId(
SelectionModel(
selectedId: adVM.vehicleAdsDurations.first.id ?? 0,
selectedOption: "${adVM.vehicleAdsDurations.first.days} Days",
itemPrice: adVM.vehicleAdsDurations.first.price!.toInt().toString(),
),
);
} }
fetchUsername() async {} fetchUsername() async {}

@ -3,6 +3,7 @@ import 'package:mc_common_app/classes/app_state.dart';
import 'package:mc_common_app/config/dependencies.dart'; import 'package:mc_common_app/config/dependencies.dart';
import 'package:mc_common_app/config/routes.dart'; import 'package:mc_common_app/config/routes.dart';
import 'package:mc_common_app/extensions/int_extensions.dart'; import 'package:mc_common_app/extensions/int_extensions.dart';
import 'package:mc_common_app/extensions/string_extensions.dart';
import 'package:mc_common_app/models/advertisment_models/ad_details_model.dart'; import 'package:mc_common_app/models/advertisment_models/ad_details_model.dart';
import 'package:mc_common_app/models/widgets_models.dart'; import 'package:mc_common_app/models/widgets_models.dart';
import 'package:mc_common_app/theme/colors.dart'; import 'package:mc_common_app/theme/colors.dart';
@ -26,11 +27,7 @@ class AdsFragment extends StatelessWidget {
List<AdDetailsModel> getAdsList(AdVM adVM) { List<AdDetailsModel> getAdsList(AdVM adVM) {
if (adVM.isExploreAdsTapped) { if (adVM.isExploreAdsTapped) {
if (adVM.exploreAdsFilteredList.isNotEmpty) { return adVM.exploreAdsFilteredList;
return adVM.exploreAdsFilteredList;
} else {
return adVM.exploreAds;
}
} }
if (adVM.myAdsFilteredList.isNotEmpty) { if (adVM.myAdsFilteredList.isNotEmpty) {
return adVM.myAdsFilteredList; return adVM.myAdsFilteredList;
@ -80,18 +77,21 @@ class AdsFragment extends StatelessWidget {
), ),
], ],
).horPaddingMain(), ).horPaddingMain(),
if (adVM.isExploreAdsTapped && adVM.exploreAds.isNotEmpty) ...[ if (adVM.isExploreAdsTapped) ...[
16.height, 16.height,
FiltersList(filterList: adVM.exploreAdsFilterOptions, onFilterTapped: (index, selectedFilterId) => adVM.applyFilterOnExploreAds(index: index), needLeftPadding: false) FiltersList(
filterList: adVM.exploreAdsFilterOptions,
onFilterTapped: (index, selectedFilterId) => adVM.applyFilterOnExploreAds(index: index, createdByRoleFilter: selectedFilterId.toCreatedByRoleEnum()),
needLeftPadding: false)
.paddingOnly(left: 21), .paddingOnly(left: 21),
], ],
if (!adVM.isExploreAdsTapped && adVM.myAds.isNotEmpty) ...[ if (!adVM.isExploreAdsTapped) ...[
16.height, 16.height,
FiltersList( FiltersList(
filterList: adVM.myAdsFilterOptions, filterList: adVM.myAdsFilterOptions,
onFilterTapped: (index, selectedFilterId) => adVM.applyFilterOnMyAds(index: index, selectedFilterId: selectedFilterId), onFilterTapped: (index, selectedFilterId) => adVM.applyFilterOnMyAds(index: index, adPostStatusEnum: selectedFilterId.toAdPostEnum()),
needLeftPadding: false) needLeftPadding: false,
.paddingOnly(left: 21), ).paddingOnly(left: 21),
], ],
], ],
); );
@ -113,22 +113,6 @@ class AdsFragment extends StatelessWidget {
), ),
floatingActionButton: FloatingActionButton( floatingActionButton: FloatingActionButton(
onPressed: () async { onPressed: () async {
final adVM = context.read<AdVM>();
if (adVM.vehicleTypes.isEmpty) {
await adVM.getVehicleTypes();
}
if (adVM.vehicleAdsDurations.isEmpty) {
await adVM.getVehicleAdsDuration();
}
adVM.updateVehicleAdDurationId(
SelectionModel(
selectedId: adVM.vehicleAdsDurations.first.id ?? 0,
selectedOption: "${adVM.vehicleAdsDurations.first.days} Days",
itemPrice: adVM.vehicleAdsDurations.first.price!.toInt().toString(),
),
);
navigateWithName(context, AppRoutes.selectAdTypeView, arguments: injector.get<AppState>().currentAppType == AppType.provider); navigateWithName(context, AppRoutes.selectAdTypeView, arguments: injector.get<AppState>().currentAppType == AppType.provider);
}, },
backgroundColor: MyColors.darkPrimaryColor, backgroundColor: MyColors.darkPrimaryColor,

@ -4,6 +4,7 @@ import 'package:car_customer_app/views/appointments/widgets/customer_appointment
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mc_common_app/classes/app_state.dart'; import 'package:mc_common_app/classes/app_state.dart';
import 'package:mc_common_app/extensions/int_extensions.dart'; import 'package:mc_common_app/extensions/int_extensions.dart';
import 'package:mc_common_app/utils/enums.dart';
import 'package:mc_common_app/view_models/ad_view_model.dart'; import 'package:mc_common_app/view_models/ad_view_model.dart';
import 'package:mc_common_app/views/advertisement/ads_list.dart'; import 'package:mc_common_app/views/advertisement/ads_list.dart';
import 'package:mc_common_app/widgets/common_widgets/my_service_provider.dart'; import 'package:mc_common_app/widgets/common_widgets/my_service_provider.dart';
@ -79,7 +80,7 @@ class HomeFragment extends StatelessWidget {
onSubtitleTapped: () { onSubtitleTapped: () {
context.read<DashboardVM>().onNavbarTapped(3); context.read<DashboardVM>().onNavbarTapped(3);
context.read<AdVM>().updateIsExploreAds(true); context.read<AdVM>().updateIsExploreAds(true);
context.read<AdVM>().applyFilterOnExploreAds(index: 0); context.read<AdVM>().applyFilterOnExploreAds(index: 0, createdByRoleFilter: CreatedByRoleEnum.allAds);
}, },
).horPaddingMain(), ).horPaddingMain(),
BuildAdsList( BuildAdsList(

Loading…
Cancel
Save