Completed Ads with NEW ui

merge-requests/2/head
FaizHashmiCS22 3 years ago
parent 1b59c8f31a
commit bb4e3d3c3a

@ -1,6 +1,6 @@
import 'package:car_customer_app/views/appointment_detail_view.dart'; import 'package:car_customer_app/views/appointments/appointment_detail_view.dart';
import 'package:car_customer_app/views/book_provider_app_view.dart';
import 'package:car_customer_app/views/dashboard/dashboard_page.dart'; import 'package:car_customer_app/views/dashboard/dashboard_page.dart';
import 'package:car_customer_app/views/providers/book_provider_app_view.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:mc_common_app/config/routes.dart'; 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';

@ -1,26 +1,26 @@
import 'package:car_customer_app/config/customer_dependencies.dart'; import 'package:car_customer_app/config/customer_dependencies.dart';
import 'package:car_customer_app/config/customer_routes.dart'; import 'package:car_customer_app/config/customer_routes.dart';
import 'package:car_customer_app/view_models/appointments_view_model.dart';
import 'package:car_customer_app/view_models/dashboard_view_model.dart'; import 'package:car_customer_app/view_models/dashboard_view_model.dart';
import 'package:car_customer_app/view_models/providers_view_model.dart';
import 'package:easy_localization/easy_localization.dart'; import 'package:easy_localization/easy_localization.dart';
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/services/services.dart';
import 'package:mc_common_app/theme/app_theme.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/models/post_params_model.dart'; import 'package:mc_common_app/models/post_params_model.dart';
import 'package:mc_common_app/repositories/common_repo.dart';
import 'package:mc_common_app/repositories/user_repo.dart'; import 'package:mc_common_app/repositories/user_repo.dart';
import 'package:mc_common_app/services/services.dart';
import 'package:mc_common_app/theme/app_theme.dart';
import 'package:mc_common_app/utils/enums.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/view_models/base_view_model.dart'; import 'package:mc_common_app/view_models/base_view_model.dart';
import 'package:mc_common_app/view_models/user_view_model.dart'; import 'package:mc_common_app/view_models/user_view_model.dart';
import 'package:mc_common_app/widgets/extensions/extensions_widget.dart'; import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
import 'package:sizer/sizer.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:provider/single_child_widget.dart'; import 'package:provider/single_child_widget.dart';
import 'package:sizer/sizer.dart';
import 'package:mc_common_app/repositories/common_repo.dart';
Future<void> main() async { Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized(); WidgetsFlutterBinding.ensureInitialized();
@ -31,9 +31,7 @@ Future<void> main() async {
runApp( runApp(
MultiProvider( MultiProvider(
providers: <SingleChildWidget>[ providers: <SingleChildWidget>[
ChangeNotifierProvider<BaseVM>( ChangeNotifierProvider<BaseVM>(create: (_) => BaseVM()),
create: (_) => BaseVM(),
),
ChangeNotifierProvider<DashboardVM>( ChangeNotifierProvider<DashboardVM>(
create: (_) => DashboardVM( create: (_) => DashboardVM(
userRepo: injector.get<UserRepo>(), userRepo: injector.get<UserRepo>(),
@ -44,7 +42,22 @@ Future<void> main() async {
create: (_) => UserVM(userRepo: injector.get<UserRepo>()), create: (_) => UserVM(userRepo: injector.get<UserRepo>()),
), ),
ChangeNotifierProvider<AdVM>( ChangeNotifierProvider<AdVM>(
create: (_) => AdVM(commonServices: injector.get<CommonServices>(), commonRepo: injector.get<CommonRepo>()), create: (_) => AdVM(
commonServices: injector.get<CommonServices>(),
commonRepo: injector.get<CommonRepo>(),
),
),
ChangeNotifierProvider<ProvidersVM>(
create: (_) => ProvidersVM(
commonServices: injector.get<CommonServices>(),
commonRepo: injector.get<CommonRepo>(),
),
),
ChangeNotifierProvider<AppointmentsVM>(
create: (_) => AppointmentsVM(
commonServices: injector.get<CommonServices>(),
commonRepo: injector.get<CommonRepo>(),
),
), ),
], ],
child: const MyApp(), child: const MyApp(),

@ -0,0 +1,33 @@
import 'package:flutter/cupertino.dart';
import 'package:mc_common_app/models/widgets_models.dart';
import 'package:mc_common_app/repositories/common_repo.dart';
import 'package:mc_common_app/services/services.dart';
class AppointmentsVM extends ChangeNotifier {
final CommonRepo commonRepo;
final CommonServices commonServices;
AppointmentsVM({required this.commonServices, required this.commonRepo});
List<FilterListModel> appointmentsFilterOptions = [];
populateAppointmentsFilterList() {
appointmentsFilterOptions.clear();
appointmentsFilterOptions = [
FilterListModel(title: "All Appointments", isSelected: true),
FilterListModel(title: "Booked", isSelected: false),
FilterListModel(title: "Confirmed", isSelected: false),
FilterListModel(title: "Arrived", isSelected: false),
];
notifyListeners();
}
applyFilterOnAppointmentsVM({required int index}) {
if (appointmentsFilterOptions.isEmpty) return;
for (var value in appointmentsFilterOptions) {
value.isSelected = false;
}
appointmentsFilterOptions[index].isSelected = true;
notifyListeners();
}
}

@ -0,0 +1,35 @@
import 'package:flutter/cupertino.dart';
import 'package:mc_common_app/models/widgets_models.dart';
import 'package:mc_common_app/repositories/common_repo.dart';
import 'package:mc_common_app/services/services.dart';
class ProvidersVM extends ChangeNotifier {
final CommonRepo commonRepo;
final CommonServices commonServices;
ProvidersVM({required this.commonServices, required this.commonRepo});
List<FilterListModel> providersFilterOptions = [];
populateProvidersFilterList() {
providersFilterOptions.clear();
providersFilterOptions = [
FilterListModel(title: "All Providers", isSelected: true),
FilterListModel(title: "Maintenance", isSelected: false),
FilterListModel(title: "Oil Service", isSelected: false),
FilterListModel(title: "Accessories", isSelected: false),
FilterListModel(title: "Tire Service", isSelected: false),
FilterListModel(title: "Dent and Paint", isSelected: false),
];
notifyListeners();
}
applyFilterOnProviders({required int index}) {
if (providersFilterOptions.isEmpty) return;
for (var value in providersFilterOptions) {
value.isSelected = false;
}
providersFilterOptions[index].isSelected = true;
notifyListeners();
}
}

@ -5,8 +5,8 @@ import 'package:mc_common_app/extensions/string_extensions.dart';
import 'package:mc_common_app/theme/colors.dart'; import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/widgets/button/show_fill_button.dart'; import 'package:mc_common_app/widgets/button/show_fill_button.dart';
import 'package:mc_common_app/widgets/common_widgets/app_bar.dart'; import 'package:mc_common_app/widgets/common_widgets/app_bar.dart';
import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
import 'package:mc_common_app/widgets/common_widgets/card_button_with_icon.dart'; import 'package:mc_common_app/widgets/common_widgets/card_button_with_icon.dart';
import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
class AppointmentDetailView extends StatelessWidget { class AppointmentDetailView extends StatelessWidget {
AppointmentDetailView({Key? key}) : super(key: key); AppointmentDetailView({Key? key}) : super(key: key);

@ -1,4 +1,7 @@
import 'dart:async';
import 'package:car_customer_app/view_models/appointments_view_model.dart';
import 'package:car_customer_app/view_models/dashboard_view_model.dart'; import 'package:car_customer_app/view_models/dashboard_view_model.dart';
import 'package:car_customer_app/view_models/providers_view_model.dart';
import 'package:car_customer_app/views/dashboard/fragments/ads_fragment.dart'; import 'package:car_customer_app/views/dashboard/fragments/ads_fragment.dart';
import 'package:car_customer_app/views/dashboard/fragments/appointments_fragment.dart'; 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/fragments/home_fragment.dart';
@ -8,6 +11,7 @@ import 'package:car_customer_app/views/dashboard/widgets/bottom_nav_bar.dart';
import 'package:car_customer_app/views/dashboard/widgets/drawer_widget.dart'; 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/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';
import 'package:mc_common_app/widgets/extensions/extensions_widget.dart'; import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
@ -27,6 +31,11 @@ class _DashboardPageState extends State<DashboardPage> {
super.initState(); super.initState();
// dashboardVM = Provider.of<DashboardVM>(context, listen: false); // dashboardVM = Provider.of<DashboardVM>(context, listen: false);
fetchUsername(); fetchUsername();
scheduleMicrotask(() {
context.read<AppointmentsVM>().populateAppointmentsFilterList();
context.read<ProvidersVM>().populateProvidersFilterList();
context.read<AdVM>().populateAdsFilterList();
});
} }
fetchUsername() async {} fetchUsername() async {}

@ -1,13 +1,14 @@
import 'package:mc_common_app/view_models/ad_view_model.dart';
import 'package:mc_common_app/views/advertisement/ads_list.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mc_common_app/classes/app_state.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/theme/colors.dart'; import 'package:mc_common_app/theme/colors.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/widgets/button/show_fill_button.dart'; import 'package:mc_common_app/widgets/button/show_fill_button.dart';
import 'package:mc_common_app/widgets/common_widgets/categories_list.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:mc_common_app/views/advertisement/ads_list.dart';
class AdsFragment extends StatelessWidget { class AdsFragment extends StatelessWidget {
AdsFragment({Key? key}) : super(key: key); AdsFragment({Key? key}) : super(key: key);
@ -30,43 +31,52 @@ class AdsFragment extends StatelessWidget {
16.height, 16.height,
Consumer( Consumer(
builder: (BuildContext context, AdVM adVM, Widget? child) { builder: (BuildContext context, AdVM adVM, Widget? child) {
return Row( return Column(
children: [ children: [
Expanded( Row(
child: ShowFillButton( children: [
isFilled: adVM.isExploreAdsTapped, Expanded(
maxHeight: 55, child: ShowFillButton(
title: "Explore Ads", isFilled: adVM.isExploreAdsTapped,
txtColor: adVM.isExploreAdsTapped ? MyColors.white : MyColors.darkTextColor, maxHeight: 55,
onPressed: () { title: "Explore Ads",
adVM.updateIsExploreAds(true); txtColor: adVM.isExploreAdsTapped ? MyColors.white : MyColors.darkTextColor,
}, onPressed: () {
), print("ads: ${AppState().getUser.data!.accessToken}");
), adVM.updateIsExploreAds(true);
12.width, },
Expanded( ),
child: ShowFillButton( ),
isFilled: !adVM.isExploreAdsTapped, 12.width,
txtColor: !adVM.isExploreAdsTapped ? MyColors.white : MyColors.darkTextColor, Expanded(
maxHeight: 55, child: ShowFillButton(
title: "My Ads", isFilled: !adVM.isExploreAdsTapped,
onPressed: () { txtColor: !adVM.isExploreAdsTapped ? MyColors.white : MyColors.darkTextColor,
adVM.updateIsExploreAds(false); maxHeight: 55,
}, title: "My Ads",
), onPressed: () {
adVM.updateIsExploreAds(false);
},
),
),
],
), ),
if (adVM.isExploreAdsTapped) ...[
16.height,
FiltersList(filterList: adVM.adsFilterOptions, onFilterTapped: (index) => adVM.applyFilterOnAds(index: index), needLeftPadding: false),
],
], ],
); );
}, },
), ),
24.height, 16.height,
Expanded( Expanded(
child: RefreshIndicator( child: RefreshIndicator(
onRefresh: () => onRefreshAds(context), onRefresh: () => onRefreshAds(context),
child: Consumer( child: Consumer(
builder: (BuildContext context, AdVM adVM, Widget? child) { builder: (BuildContext context, AdVM adVM, Widget? child) {
return BuildAdsList( return BuildAdsList(
adsList: adVM.isExploreAdsTapped ? adVM.allAds : adVM.myAds, adsList: adVM.isExploreAdsTapped && adVM.adsFilteredList.isNotEmpty ? adVM.adsFilteredList : adVM.myAds,
); );
}, },
), ),

@ -1,10 +1,12 @@
import 'package:car_customer_app/view_models/appointments_view_model.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.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/theme/colors.dart'; import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/utils/navigator.dart'; import 'package:mc_common_app/utils/navigator.dart';
import 'package:mc_common_app/widgets/common_widgets/customer_appointment_slider_widget.dart';
import 'package:mc_common_app/widgets/common_widgets/categories_list.dart'; import 'package:mc_common_app/widgets/common_widgets/categories_list.dart';
import 'package:mc_common_app/widgets/common_widgets/customer_appointment_slider_widget.dart';
import 'package:provider/provider.dart';
class AppointmentsFragment extends StatelessWidget { class AppointmentsFragment extends StatelessWidget {
const AppointmentsFragment({Key? key}) : super(key: key); const AppointmentsFragment({Key? key}) : super(key: key);
@ -15,26 +17,33 @@ class AppointmentsFragment extends StatelessWidget {
color: MyColors.backgroundColor, color: MyColors.backgroundColor,
width: double.infinity, width: double.infinity,
height: double.infinity, height: double.infinity,
child: Column( child: Consumer(
children: [ builder: (BuildContext context, AppointmentsVM appointmentsVM, Widget? child) {
16.height, return Column(
CategoriesList(name: "Upcoming", onTapped: () {}), children: [
16.height, 16.height,
Expanded( FiltersList(
child: Container( filterList: appointmentsVM.appointmentsFilterOptions,
child: ListView.builder( onFilterTapped: (index) => appointmentsVM.applyFilterOnAppointmentsVM(index: index),
shrinkWrap: true, ),
itemCount: 30, 16.height,
itemBuilder: (BuildContext context, int index) { Expanded(
return BuildAppointmentContainerForCustomer( child: Container(
onTapped: () { child: ListView.builder(
navigateWithName(context, AppRoutes.appointmentDetailView); shrinkWrap: true,
}, itemCount: 30,
); itemBuilder: (BuildContext context, int index) {
}), return BuildAppointmentContainerForCustomer(
), onTapped: () {
), navigateWithName(context, AppRoutes.appointmentDetailView);
], },
);
}),
),
),
],
);
},
), ),
); );
} }

@ -1,12 +1,15 @@
import 'dart:async'; import 'dart:async';
import 'package:mc_common_app/views/advertisement/ads_list.dart';
import 'package:mc_common_app/view_models/ad_view_model.dart';
import 'package:car_customer_app/view_models/dashboard_view_model.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mc_common_app/extensions/int_extensions.dart'; import 'package:mc_common_app/extensions/int_extensions.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/widgets/extensions/extensions_widget.dart';
import 'package:mc_common_app/widgets/common_widgets/view_all_widget.dart';
import 'package:mc_common_app/widgets/common_widgets/my_service_provider.dart';
import 'package:mc_common_app/widgets/common_widgets/customer_appointment_slider_widget.dart'; import 'package:mc_common_app/widgets/common_widgets/customer_appointment_slider_widget.dart';
import 'package:mc_common_app/widgets/common_widgets/my_service_provider.dart';
import 'package:mc_common_app/widgets/common_widgets/view_all_widget.dart';
import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
class HomeFragment extends StatefulWidget { class HomeFragment extends StatefulWidget {
@ -47,27 +50,44 @@ class _HomeFragmentState extends State<HomeFragment> {
mainAxisSize: MainAxisSize.max, mainAxisSize: MainAxisSize.max,
children: [ children: [
16.height, 16.height,
ViewAllWidget(title: "Upcoming Appointment".toUpperCase(), subTitle: "View All").horPaddingMain(), ViewAllWidget(
title: "Upcoming Appointment".toUpperCase(),
subTitle: "View All",
onSubtitleTapped: () {},
).horPaddingMain(),
const CustomerAppointmentSliderWidget(), const CustomerAppointmentSliderWidget(),
7.height, 7.height,
ViewAllWidget(title: "My Recent Service Providers".toUpperCase(), subTitle: "View All").horPaddingMain(), ViewAllWidget(title: "My Recent Service Providers".toUpperCase(), subTitle: "View All", onSubtitleTapped: () {}).horPaddingMain(),
const ServiceProviderWidget().horPaddingMain(), const ServiceProviderWidget().horPaddingMain(),
15.height, 15.height,
ViewAllWidget(title: "My Active Ads".toUpperCase(), subTitle: "View All").horPaddingMain(), ViewAllWidget(
title: "My Active Ads".toUpperCase(),
subTitle: "View All",
onSubtitleTapped: () {
context.read<DashboardVM>().onNavbarTapped(3);
context.read<AdVM>().updateIsExploreAds(false);
}).horPaddingMain(),
Consumer( Consumer(
builder: (BuildContext context, AdVM adVM, Widget? child) { builder: (BuildContext context, AdVM adVM, Widget? child) {
return BuildAdsList( return BuildAdsList(
adsList: adVM.myAds, adsList: adVM.myAds.length >= 3 ? adVM.myAds.take(3).toList() : adVM.myAds,
scrollPhysics: NeverScrollableScrollPhysics(), scrollPhysics: NeverScrollableScrollPhysics(),
).horPaddingMain(); ).horPaddingMain();
}, },
), ),
20.height, 20.height,
ViewAllWidget(title: "My Recommended Ads".toUpperCase(), subTitle: "View All").horPaddingMain(), ViewAllWidget(
title: "My Recommended Ads".toUpperCase(),
subTitle: "View All",
onSubtitleTapped: () {
context.read<DashboardVM>().onNavbarTapped(3);
context.read<AdVM>().updateIsExploreAds(true);
context.read<AdVM>().applyFilterOnAds(index: 0);
}).horPaddingMain(),
Consumer( Consumer(
builder: (BuildContext context, AdVM adVM, Widget? child) { builder: (BuildContext context, AdVM adVM, Widget? child) {
return BuildAdsList( return BuildAdsList(
adsList: adVM.allAds, adsList: adVM.allAds.length >= 3 ? adVM.allAds.take(3).toList() : adVM.allAds,
scrollPhysics: NeverScrollableScrollPhysics(), scrollPhysics: NeverScrollableScrollPhysics(),
).horPaddingMain(); ).horPaddingMain();
}, },

@ -1,11 +1,13 @@
import 'package:car_customer_app/view_models/providers_view_model.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/extensions/int_extensions.dart'; import 'package:mc_common_app/extensions/int_extensions.dart';
import 'package:mc_common_app/theme/colors.dart'; import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/utils/navigator.dart'; import 'package:mc_common_app/utils/navigator.dart';
import 'package:mc_common_app/widgets/common_widgets/provider_details_card.dart';
import 'package:mc_common_app/widgets/common_widgets/categories_list.dart'; import 'package:mc_common_app/widgets/common_widgets/categories_list.dart';
import 'package:mc_common_app/widgets/common_widgets/provider_details_card.dart';
import 'package:provider/provider.dart';
class ProvidersFragment extends StatelessWidget { class ProvidersFragment extends StatelessWidget {
const ProvidersFragment({Key? key}) : super(key: key); const ProvidersFragment({Key? key}) : super(key: key);
@ -16,30 +18,37 @@ class ProvidersFragment extends StatelessWidget {
color: MyColors.backgroundColor, color: MyColors.backgroundColor,
width: double.infinity, width: double.infinity,
height: double.infinity, height: double.infinity,
child: Column( child: Consumer(
children: [ builder: (BuildContext context, ProvidersVM providersVM, Widget? child) {
16.height, return Column(
CategoriesList(name: "Oil Services", onTapped: () {}), children: [
16.height, 16.height,
Expanded( FiltersList(
child: Container( filterList: providersVM.providersFilterOptions,
child: ListView.builder( onFilterTapped: (index) => providersVM.applyFilterOnProviders(index: index),
shrinkWrap: true, ),
itemCount: 30, 16.height,
itemBuilder: (BuildContext context, int index) { Expanded(
return ProviderDetailsCard( child: Container(
onCardTapped: () { child: ListView.builder(
navigateWithName(context, AppRoutes.bookProviderAppView); shrinkWrap: true,
}, itemCount: 30,
providerImageUrl: MyAssets.bnCar, itemBuilder: (BuildContext context, int index) {
providerLocation: " 3km", return ProviderDetailsCard(
providerName: "Al Ahmed Maintenance", onCardTapped: () {
providerRatings: "4.9", navigateWithName(context, AppRoutes.bookProviderAppView);
); },
}), providerImageUrl: MyAssets.bnCar,
), providerLocation: " 3km",
), providerName: "Al Ahmed Maintenance",
], providerRatings: "4.9",
);
}),
),
),
],
);
},
), ),
); );
} }

@ -1,14 +1,13 @@
import 'package:car_customer_app/view_models/dashboard_view_model.dart'; import 'package:car_customer_app/view_models/dashboard_view_model.dart';
import 'package:easy_localization/easy_localization.dart'; import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mc_common_app/generated/locale_keys.g.dart';
import 'package:mc_common_app/theme/colors.dart';
import 'package:flutter_svg/flutter_svg.dart'; import 'package:flutter_svg/flutter_svg.dart';
import 'package:mc_common_app/classes/consts.dart'; import 'package:mc_common_app/classes/consts.dart';
import 'package:mc_common_app/generated/locale_keys.g.dart';
import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/widgets/extensions/extensions_widget.dart'; import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
class CustomBottomNavbar extends StatelessWidget { class CustomBottomNavbar extends StatelessWidget {
const CustomBottomNavbar({Key? key}) : super(key: key); const CustomBottomNavbar({Key? key}) : super(key: key);

@ -1,3 +1,7 @@
import 'package:car_customer_app/view_models/dashboard_view_model.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:image_picker/image_picker.dart';
import 'package:mc_common_app/classes/app_state.dart'; import 'package:mc_common_app/classes/app_state.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';
@ -8,12 +12,8 @@ import 'package:mc_common_app/models/user/image_response.dart';
import 'package:mc_common_app/theme/colors.dart'; import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/utils/navigator.dart'; import 'package:mc_common_app/utils/navigator.dart';
import 'package:mc_common_app/utils/utils.dart'; import 'package:mc_common_app/utils/utils.dart';
import 'package:car_customer_app/view_models/dashboard_view_model.dart';
import 'package:mc_common_app/widgets/button/show_fill_button.dart'; import 'package:mc_common_app/widgets/button/show_fill_button.dart';
import 'package:mc_common_app/widgets/extensions/extensions_widget.dart'; import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:image_picker/image_picker.dart';
class CustomDrawer extends StatefulWidget { class CustomDrawer extends StatefulWidget {
final DashboardVM dashboardVM; final DashboardVM dashboardVM;
@ -161,8 +161,7 @@ class _CustomDrawerState extends State<CustomDrawer> {
title: LocaleKeys.account.tr().toText(fontSize: 12), title: LocaleKeys.account.tr().toText(fontSize: 12),
), ),
ListTile( ListTile(
leading: leading: Image.asset(
Image.asset(
MyAssets.icWorldPng, MyAssets.icWorldPng,
width: 20, width: 20,
height: 20, height: 20,

@ -3,11 +3,12 @@ import 'package:mc_common_app/classes/consts.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/extensions/string_extensions.dart';
import 'package:mc_common_app/theme/colors.dart'; import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/widgets/button/show_fill_button.dart';
import 'package:mc_common_app/widgets/common_widgets/app_bar.dart'; import 'package:mc_common_app/widgets/common_widgets/app_bar.dart';
import 'package:mc_common_app/widgets/common_widgets/provider_details_card.dart'; import 'package:mc_common_app/widgets/common_widgets/provider_details_card.dart';
import 'package:mc_common_app/widgets/dropdown/dropdow_field.dart'; import 'package:mc_common_app/widgets/dropdown/dropdow_field.dart';
import 'package:mc_common_app/widgets/extensions/extensions_widget.dart'; import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
import 'package:mc_common_app/widgets/button/show_fill_button.dart'; import 'package:mc_common_app/widgets/common_widgets/time_slots.dart';
class BookProviderAppView extends StatefulWidget { class BookProviderAppView extends StatefulWidget {
const BookProviderAppView({Key? key}) : super(key: key); const BookProviderAppView({Key? key}) : super(key: key);
@ -166,38 +167,3 @@ class ReviewAppointmentSection extends StatelessWidget {
} }
} }
class BuildTimeSlots extends StatelessWidget {
const BuildTimeSlots({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return SizedBox(
height: 37,
width: double.infinity,
child: ListView.builder(
itemCount: 20,
scrollDirection: Axis.horizontal,
itemBuilder: (BuildContext context, int index) {
return InkWell(
onTap: () {},
child: Container(
alignment: Alignment.center,
margin: EdgeInsets.only(right: 8),
width: 50,
decoration: BoxDecoration(
color: index < 1 ? MyColors.darkIconColor : null,
border: Border.all(
color: index < 1 ? MyColors.darkIconColor : MyColors.primaryColor,
width: 2,
),
),
child: "09:00".toText(
fontSize: 12,
color: index < 1 ? MyColors.white : null,
),
),
);
}),
);
}
}
Loading…
Cancel
Save