Updated both apps' structure
parent
272dfe06f4
commit
7eeb3ed208
@ -1,135 +1,136 @@
|
|||||||
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/config/dependency_injection.dart';
|
// import 'package:mc_common_app/classes/consts.dart';
|
||||||
import 'package:mc_common_app/config/routes.dart';
|
// import 'package:mc_common_app/config/dependency_injection.dart';
|
||||||
import 'package:mc_common_app/extensions/int_extensions.dart';
|
// import 'package:mc_common_app/config/routes.dart';
|
||||||
import 'package:mc_common_app/extensions/string_extensions.dart';
|
// import 'package:mc_common_app/extensions/int_extensions.dart';
|
||||||
import 'package:mc_common_app/generated/locale_keys.g.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/generated/locale_keys.g.dart';
|
||||||
import 'package:mc_common_app/theme/colors.dart';
|
// import 'package:mc_common_app/models/advertisment_models/ad_details_model.dart';
|
||||||
import 'package:mc_common_app/utils/enums.dart';
|
// import 'package:mc_common_app/theme/colors.dart';
|
||||||
import 'package:mc_common_app/utils/navigator.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/utils/navigator.dart';
|
||||||
import 'package:mc_common_app/views/advertisement/ads_list.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/views/advertisement/ads_list.dart';
|
||||||
import 'package:mc_common_app/widgets/common_widgets/app_bar.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: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/categories_list.dart';
|
||||||
import 'package:provider/provider.dart';
|
// import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
|
||||||
import 'package:easy_localization/easy_localization.dart';
|
// import 'package:provider/provider.dart';
|
||||||
|
// import 'package:easy_localization/easy_localization.dart';
|
||||||
|
//
|
||||||
class AdsFragment extends StatelessWidget {
|
// class AdsFragment extends StatelessWidget {
|
||||||
final bool isNeedAppBar;
|
// const AdsFragment({Key? key}) : super(key: key);
|
||||||
final VoidCallback onBackButtonTapped;
|
//
|
||||||
|
// List<AdDetailsModel> getAdsList(AdVM adVM) {
|
||||||
const AdsFragment({Key? key, this.isNeedAppBar = true, required this.onBackButtonTapped}) : super(key: key);
|
// if (adVM.isExploreAdsTapped) {
|
||||||
|
// return adVM.exploreAdsFilteredList;
|
||||||
Future<void> onRefreshAds(BuildContext context) async {
|
// }
|
||||||
AdVM adVM = context.read<AdVM>();
|
// if (adVM.myAdsFilteredList.isNotEmpty) {
|
||||||
await adVM.getExploreAds();
|
// return adVM.myAdsFilteredList;
|
||||||
await adVM.getMyAds();
|
// }
|
||||||
}
|
// return [];
|
||||||
|
// }
|
||||||
List<AdDetailsModel> getAdsList(AdVM adVM) {
|
//
|
||||||
if (adVM.isExploreAdsTapped) {
|
// @override
|
||||||
return adVM.exploreAdsFilteredList;
|
// Widget build(BuildContext context) {
|
||||||
}
|
// return Consumer(
|
||||||
if (adVM.myAdsFilteredList.isNotEmpty) {
|
// builder: (BuildContext context, AdVM adVM, Widget? child) {
|
||||||
return adVM.myAdsFilteredList;
|
// return Scaffold(
|
||||||
}
|
// appBar: CustomAppBar(
|
||||||
return [];
|
// title: LocaleKeys.ads.tr(),
|
||||||
}
|
// isRemoveBackButton: true,
|
||||||
|
// actions: [
|
||||||
@override
|
// Padding(
|
||||||
Widget build(BuildContext context) {
|
// padding: EdgeInsets.only(top: adVM.adsFiltersCounter > 0 ? 20 : 0, right: 21),
|
||||||
return Scaffold(
|
// child: Badge(
|
||||||
appBar: !isNeedAppBar
|
// isLabelVisible: adVM.adsFiltersCounter > 0,
|
||||||
? null
|
// largeSize: 15,
|
||||||
: CustomAppBar(
|
// smallSize: 20,
|
||||||
title: LocaleKeys.ads.tr(),
|
// backgroundColor: MyColors.darkPrimaryColor,
|
||||||
onBackButtonTapped: onBackButtonTapped,
|
// label: Text('${adVM.adsFiltersCounter}'),
|
||||||
),
|
// child: MyAssets.searchIcon.buildSvg(),
|
||||||
body: Container(
|
// ),
|
||||||
color: MyColors.backgroundColor,
|
// ).onPress(() {
|
||||||
width: double.infinity,
|
// navigateWithName(context, AppRoutes.adsFilterView);
|
||||||
height: double.infinity,
|
// })
|
||||||
child: Column(
|
// ],
|
||||||
children: [
|
// ),
|
||||||
16.height,
|
// body: SizedBox(
|
||||||
Consumer(
|
// width: double.infinity,
|
||||||
builder: (BuildContext context, AdVM adVM, Widget? child) {
|
// height: double.infinity,
|
||||||
return Column(
|
// child: Column(
|
||||||
children: [
|
// children: [
|
||||||
Row(
|
// 16.height,
|
||||||
children: [
|
// Column(
|
||||||
Expanded(
|
// children: [
|
||||||
child: ShowFillButton(
|
// Row(
|
||||||
isFilled: adVM.isExploreAdsTapped,
|
// children: [
|
||||||
maxHeight: 55,
|
// Expanded(
|
||||||
title: "Explore Ads",
|
// child: ShowFillButton(
|
||||||
txtColor: adVM.isExploreAdsTapped ? MyColors.white : MyColors.darkTextColor,
|
// isFilled: adVM.isExploreAdsTapped,
|
||||||
onPressed: () {
|
// maxHeight: 55,
|
||||||
print("ads: ${AppState().getUser.data!.accessToken}");
|
// title: LocaleKeys.exploreAds.tr(),
|
||||||
adVM.updateIsExploreAds(true);
|
// txtColor: adVM.isExploreAdsTapped ? MyColors.white : MyColors.darkTextColor,
|
||||||
},
|
// onPressed: () {
|
||||||
),
|
// print("accessToken: ${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: LocaleKeys.myAds.tr(),
|
||||||
),
|
// onPressed: () {
|
||||||
),
|
// adVM.updateIsExploreAds(false);
|
||||||
],
|
// },
|
||||||
).horPaddingMain(),
|
// ),
|
||||||
if (adVM.isExploreAdsTapped) ...[
|
// ),
|
||||||
16.height,
|
// ],
|
||||||
FiltersList(
|
// ).horPaddingMain(),
|
||||||
filterList: adVM.exploreAdsFilterOptions,
|
// if (adVM.isExploreAdsTapped) ...[
|
||||||
onFilterTapped: (index, selectedFilterId) => adVM.applyFilterOnExploreAds(createdByRoleFilter: selectedFilterId.toCreatedByRoleEnum()),
|
// 16.height,
|
||||||
needLeftPadding: false)
|
// FiltersList(
|
||||||
.paddingOnly(left: 21),
|
// filterList: adVM.exploreAdsFilterOptions,
|
||||||
],
|
// onFilterTapped: (index, selectedFilterId) => adVM.applyFilterOnExploreAds(createdByRoleFilter: selectedFilterId.toCreatedByRoleEnum()),
|
||||||
if (!adVM.isExploreAdsTapped) ...[
|
// needLeftPadding: false)
|
||||||
16.height,
|
// .paddingOnly(left: 21),
|
||||||
FiltersList(
|
// ] else ...[
|
||||||
filterList: adVM.myAdsFilterOptions,
|
// 16.height,
|
||||||
onFilterTapped: (index, selectedFilterId) => adVM.applyFilterOnMyAds(adPostStatusEnum: selectedFilterId.toAdPostEnum()),
|
// FiltersList(
|
||||||
needLeftPadding: false,
|
// filterList: adVM.myAdsFilterOptions,
|
||||||
).paddingOnly(left: 21),
|
// onFilterTapped: (index, selectedFilterId) => adVM.applyFilterOnMyAds(adPostStatusEnum: selectedFilterId.toAdPostEnum()),
|
||||||
],
|
// needLeftPadding: false,
|
||||||
],
|
// ).paddingOnly(left: 21),
|
||||||
);
|
// ],
|
||||||
},
|
// ],
|
||||||
),
|
// ),
|
||||||
16.height,
|
// 16.height,
|
||||||
Expanded(
|
// Expanded(
|
||||||
child: RefreshIndicator(
|
// child: RefreshIndicator(
|
||||||
onRefresh: () => onRefreshAds(context),
|
// onRefresh: () async {
|
||||||
child: Consumer(
|
// await adVM.getExploreAds();
|
||||||
builder: (BuildContext context, AdVM adVM, Widget? child) {
|
// await adVM.getMyAds();
|
||||||
return BuildAdsList(isAdsFragment: true, shouldShowAdStatus: !adVM.isExploreAdsTapped, adsList: getAdsList(adVM));
|
// },
|
||||||
},
|
// child: BuildAdsList(isAdsFragment: true, shouldShowAdStatus: !adVM.isExploreAdsTapped, adsList: getAdsList(adVM)),
|
||||||
),
|
// ),
|
||||||
),
|
// )
|
||||||
)
|
// ],
|
||||||
],
|
// ),
|
||||||
),
|
// ),
|
||||||
),
|
// floatingActionButton: FloatingActionButton(
|
||||||
floatingActionButton: FloatingActionButton(
|
// onPressed: () async {
|
||||||
onPressed: () async {
|
// 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,
|
// child: const Icon(Icons.add, color: MyColors.white),
|
||||||
child: const Icon(Icons.add, color: MyColors.white),
|
// ),
|
||||||
),
|
// );
|
||||||
);
|
// },
|
||||||
}
|
// );
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,223 +1,222 @@
|
|||||||
import 'package:car_provider_app/config/provider_routes.dart';
|
// import 'package:car_provider_app/config/provider_routes.dart';
|
||||||
import 'package:car_provider_app/views/dashboard/widget/appointment_slider_widget.dart';
|
// import 'package:car_provider_app/views/dashboard/widget/appointment_slider_widget.dart';
|
||||||
import 'package:mc_common_app/classes/app_state.dart';
|
// import 'package:mc_common_app/classes/app_state.dart';
|
||||||
import 'package:mc_common_app/config/dependency_injection.dart';
|
// import 'package:mc_common_app/config/dependency_injection.dart';
|
||||||
import 'package:mc_common_app/extensions/string_extensions.dart';
|
// import 'package:mc_common_app/extensions/string_extensions.dart';
|
||||||
import 'package:mc_common_app/generated/locale_keys.g.dart';
|
// import 'package:mc_common_app/generated/locale_keys.g.dart';
|
||||||
import 'package:mc_common_app/theme/colors.dart';
|
// import 'package:mc_common_app/theme/colors.dart';
|
||||||
import 'package:mc_common_app/utils/date_helper.dart';
|
// import 'package:mc_common_app/utils/date_helper.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:mc_common_app/view_models/appointments_view_model.dart';
|
// import 'package:mc_common_app/view_models/appointments_view_model.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/extensions/extensions_widget.dart';
|
// import 'package:mc_common_app/widgets/extensions/extensions_widget.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/widgets/common_widgets/app_bar.dart';
|
// import 'package:mc_common_app/widgets/common_widgets/app_bar.dart';
|
||||||
import 'package:percent_indicator/percent_indicator.dart';
|
// import 'package:percent_indicator/percent_indicator.dart';
|
||||||
import 'package:provider/provider.dart';
|
// import 'package:provider/provider.dart';
|
||||||
import 'package:easy_localization/easy_localization.dart';
|
// import 'package:easy_localization/easy_localization.dart';
|
||||||
|
//
|
||||||
|
// class AppointmentFragment extends StatelessWidget {
|
||||||
class AppointmentFragment extends StatelessWidget {
|
// String date = "";
|
||||||
String date = "";
|
// final VoidCallback onBackButtonTapped;
|
||||||
final VoidCallback onBackButtonTapped;
|
//
|
||||||
|
// AppointmentFragment({Key? key, required this.onBackButtonTapped}) : super(key: key);
|
||||||
AppointmentFragment({Key? key, required this.onBackButtonTapped}) : super(key: key);
|
//
|
||||||
|
// GlobalKey<RefreshIndicatorState> refreshIndicatorKey = GlobalKey<RefreshIndicatorState>();
|
||||||
GlobalKey<RefreshIndicatorState> refreshIndicatorKey = GlobalKey<RefreshIndicatorState>();
|
//
|
||||||
|
// Future<void> _pullRefresh(BuildContext context) async {
|
||||||
Future<void> _pullRefresh(BuildContext context) async {
|
// await context.read<AppointmentsVM>().getMyAppointmentsForProvider({"ServiceProviderID": injector.get<AppState>().getUser.data?.userInfo?.providerId.toString() ?? "0"});
|
||||||
await context.read<AppointmentsVM>().getMyAppointmentsForProvider({"ServiceProviderID": injector.get<AppState>().getUser.data?.userInfo?.providerId.toString() ?? "0"});
|
// }
|
||||||
}
|
//
|
||||||
|
// @override
|
||||||
@override
|
// Widget build(BuildContext context) {
|
||||||
Widget build(BuildContext context) {
|
// date = DateHelper.formatAsDayMonthYear(DateTime.now());
|
||||||
date = DateHelper.formatAsDayMonthYear(DateTime.now());
|
// return Scaffold(
|
||||||
return Scaffold(
|
// appBar: CustomAppBar(
|
||||||
appBar: CustomAppBar(
|
// //profileImageUrl: MyAssets.carBanner,
|
||||||
//profileImageUrl: MyAssets.carBanner,
|
// title: LocaleKeys.appointments.tr(),
|
||||||
title: LocaleKeys.appointments.tr(),
|
// onBackButtonTapped: onBackButtonTapped,
|
||||||
onBackButtonTapped: onBackButtonTapped,
|
// actions: [
|
||||||
actions: [
|
// IconButton(
|
||||||
IconButton(
|
// onPressed: () {},
|
||||||
onPressed: () {},
|
// icon: const Icon(Icons.search),
|
||||||
icon: const Icon(Icons.search),
|
// ),
|
||||||
),
|
// 10.width,
|
||||||
10.width,
|
// ],
|
||||||
],
|
// ),
|
||||||
),
|
// body: SizedBox(
|
||||||
body: SizedBox(
|
// width: double.infinity,
|
||||||
width: double.infinity,
|
// height: double.infinity,
|
||||||
height: double.infinity,
|
// child: Consumer(builder: (BuildContext context, AppointmentsVM appointmentsVM, Widget? child) {
|
||||||
child: Consumer(builder: (BuildContext context, AppointmentsVM appointmentsVM, Widget? child) {
|
// return RefreshIndicator(
|
||||||
return RefreshIndicator(
|
// onRefresh: () => _pullRefresh(context),
|
||||||
onRefresh: () => _pullRefresh(context),
|
// key: refreshIndicatorKey,
|
||||||
key: refreshIndicatorKey,
|
// child: SingleChildScrollView(
|
||||||
child: SingleChildScrollView(
|
// physics: const AlwaysScrollableScrollPhysics(),
|
||||||
physics: const AlwaysScrollableScrollPhysics(),
|
// child: Column(
|
||||||
child: Column(
|
// children: [
|
||||||
children: [
|
// progressWidget(context),
|
||||||
progressWidget(context),
|
// FiltersList(
|
||||||
FiltersList(
|
// filterList: appointmentsVM.appointmentsFilterOptions,
|
||||||
filterList: appointmentsVM.appointmentsFilterOptions,
|
// padding: const EdgeInsets.symmetric(horizontal: 18),
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 18),
|
// onFilterTapped: (index, selectedFilterId) {
|
||||||
onFilterTapped: (index, selectedFilterId) {
|
// appointmentsVM.applyFilterOnAppointmentsVM(
|
||||||
appointmentsVM.applyFilterOnAppointmentsVM(
|
// appointmentStatusEnum: selectedFilterId.toAppointmentStatusEnum(),
|
||||||
appointmentStatusEnum: selectedFilterId.toAppointmentStatusEnum(),
|
// );
|
||||||
);
|
// },
|
||||||
},
|
// ),
|
||||||
),
|
// ListView.separated(
|
||||||
ListView.separated(
|
// itemBuilder: (context, index) {
|
||||||
itemBuilder: (context, index) {
|
// return AppointmentSliderWidget(
|
||||||
return AppointmentSliderWidget(
|
// appointmentListModel: appointmentsVM.myFilteredAppointments2[index],
|
||||||
appointmentListModel: appointmentsVM.myFilteredAppointments2[index],
|
// isNeedTotalPayment: false,
|
||||||
isNeedTotalPayment: false,
|
// onTap: () {
|
||||||
onTap: () {
|
// navigateWithName(
|
||||||
navigateWithName(
|
// context,
|
||||||
context,
|
// ProviderAppRoutes.appointmentDetailList,
|
||||||
ProviderAppRoutes.appointmentDetailList,
|
// arguments: appointmentsVM.myFilteredAppointments2[index].customerAppointmentList,
|
||||||
arguments: appointmentsVM.myFilteredAppointments2[index].customerAppointmentList,
|
// );
|
||||||
);
|
// },
|
||||||
},
|
// );
|
||||||
);
|
// },
|
||||||
},
|
// separatorBuilder: (context, snapchat) {
|
||||||
separatorBuilder: (context, snapchat) {
|
// return 21.height;
|
||||||
return 21.height;
|
// },
|
||||||
},
|
// itemCount: appointmentsVM.myFilteredAppointments2.length,
|
||||||
itemCount: appointmentsVM.myFilteredAppointments2.length,
|
// physics: const NeverScrollableScrollPhysics(),
|
||||||
physics: const NeverScrollableScrollPhysics(),
|
// shrinkWrap: true,
|
||||||
shrinkWrap: true,
|
// padding: const EdgeInsets.all(21),
|
||||||
padding: const EdgeInsets.all(21),
|
// ),
|
||||||
),
|
// ],
|
||||||
],
|
// ),
|
||||||
),
|
// ),
|
||||||
),
|
// );
|
||||||
);
|
// }),
|
||||||
}),
|
// ),
|
||||||
),
|
// );
|
||||||
);
|
// }
|
||||||
}
|
//
|
||||||
|
// Widget progressWidget(BuildContext context) {
|
||||||
Widget progressWidget(BuildContext context) {
|
// return Column(
|
||||||
return Column(
|
// children: [
|
||||||
children: [
|
// Row(
|
||||||
Row(
|
// children: [
|
||||||
children: [
|
// Expanded(
|
||||||
Expanded(
|
// child: "Slots Overview".toText(
|
||||||
child: "Slots Overview".toText(
|
// fontSize: 16,
|
||||||
fontSize: 16,
|
// fontWeight: FontWeight.bold,
|
||||||
fontWeight: FontWeight.bold,
|
// ),
|
||||||
),
|
// ),
|
||||||
),
|
// Row(
|
||||||
Row(
|
// children: [
|
||||||
children: [
|
// date.toText(
|
||||||
date.toText(
|
// fontWeight: FontWeight.bold,
|
||||||
fontWeight: FontWeight.bold,
|
// ),
|
||||||
),
|
// const Icon(
|
||||||
const Icon(
|
// Icons.keyboard_arrow_down_outlined,
|
||||||
Icons.keyboard_arrow_down_outlined,
|
// size: 16,
|
||||||
size: 16,
|
// ),
|
||||||
),
|
// ],
|
||||||
],
|
// )
|
||||||
)
|
// .toContainer(
|
||||||
.toContainer(
|
// backgroundColor: MyColors.lightGreyEAColor,
|
||||||
backgroundColor: MyColors.lightGreyEAColor,
|
// borderRadius: 100,
|
||||||
borderRadius: 100,
|
// padding: const EdgeInsets.symmetric(
|
||||||
padding: const EdgeInsets.symmetric(
|
// horizontal: 12,
|
||||||
horizontal: 12,
|
// vertical: 6,
|
||||||
vertical: 6,
|
// ),
|
||||||
),
|
// )
|
||||||
)
|
// .onPress(() async {
|
||||||
.onPress(() async {
|
// date = await Utils.pickDateFromDatePicker(
|
||||||
date = await Utils.pickDateFromDatePicker(
|
// context,
|
||||||
context,
|
// firstDate: null,
|
||||||
firstDate: null,
|
// );
|
||||||
);
|
// context.read<AppointmentsVM>().notifyListeners();
|
||||||
context.read<AppointmentsVM>().notifyListeners();
|
// }),
|
||||||
}),
|
// ],
|
||||||
],
|
// ),
|
||||||
),
|
// 24.height,
|
||||||
24.height,
|
// Row(
|
||||||
Row(
|
// mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
// children: [
|
||||||
children: [
|
// Column(
|
||||||
Column(
|
// crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
// children: [
|
||||||
children: [
|
// Row(
|
||||||
Row(
|
// children: [
|
||||||
children: [
|
// Container(
|
||||||
Container(
|
// width: 14,
|
||||||
width: 14,
|
// height: 14,
|
||||||
height: 14,
|
// color: MyColors.lightGreyEAColor,
|
||||||
color: MyColors.lightGreyEAColor,
|
// ),
|
||||||
),
|
// 4.width,
|
||||||
4.width,
|
// "Empty: ".toText(
|
||||||
"Empty: ".toText(
|
// fontSize: 8,
|
||||||
fontSize: 8,
|
// color: Colors.white,
|
||||||
color: Colors.white,
|
// ),
|
||||||
),
|
// "8".toText(
|
||||||
"8".toText(
|
// fontSize: 9,
|
||||||
fontSize: 9,
|
// fontWeight: FontWeight.bold,
|
||||||
fontWeight: FontWeight.bold,
|
// color: Colors.white,
|
||||||
color: Colors.white,
|
// ),
|
||||||
),
|
// ],
|
||||||
],
|
// ).toContainer(
|
||||||
).toContainer(
|
// backgroundColor: MyColors.darkIconColor,
|
||||||
backgroundColor: MyColors.darkIconColor,
|
// ),
|
||||||
),
|
// 8.height,
|
||||||
8.height,
|
// Row(
|
||||||
Row(
|
// children: [
|
||||||
children: [
|
// Container(
|
||||||
Container(
|
// width: 14,
|
||||||
width: 14,
|
// height: 14,
|
||||||
height: 14,
|
// color: MyColors.darkPrimaryColor,
|
||||||
color: MyColors.darkPrimaryColor,
|
// ),
|
||||||
),
|
// 4.width,
|
||||||
4.width,
|
// "Occupied: ".toText(
|
||||||
"Occupied: ".toText(
|
// fontSize: 8,
|
||||||
fontSize: 8,
|
// color: Colors.white,
|
||||||
color: Colors.white,
|
// ),
|
||||||
),
|
// "54".toText(
|
||||||
"54".toText(
|
// fontSize: 9,
|
||||||
fontSize: 9,
|
// fontWeight: FontWeight.bold,
|
||||||
fontWeight: FontWeight.bold,
|
// color: Colors.white,
|
||||||
color: Colors.white,
|
// ),
|
||||||
),
|
// ],
|
||||||
],
|
// ).toContainer(
|
||||||
).toContainer(
|
// backgroundColor: MyColors.darkIconColor,
|
||||||
backgroundColor: MyColors.darkIconColor,
|
// ),
|
||||||
),
|
// ],
|
||||||
],
|
// ),
|
||||||
),
|
// CircularPercentIndicator(
|
||||||
CircularPercentIndicator(
|
// radius: 60.0,
|
||||||
radius: 60.0,
|
// lineWidth: 12.0,
|
||||||
lineWidth: 12.0,
|
// percent: 0.7,
|
||||||
percent: 0.7,
|
// circularStrokeCap: CircularStrokeCap.round,
|
||||||
circularStrokeCap: CircularStrokeCap.round,
|
// center: Column(
|
||||||
center: Column(
|
// mainAxisAlignment: MainAxisAlignment.center,
|
||||||
mainAxisAlignment: MainAxisAlignment.center,
|
// children: [
|
||||||
children: [
|
// "Total Slots".toText(
|
||||||
"Total Slots".toText(
|
// fontSize: 13,
|
||||||
fontSize: 13,
|
// fontWeight: FontWeight.bold,
|
||||||
fontWeight: FontWeight.bold,
|
// ),
|
||||||
),
|
// "24".toText(
|
||||||
"24".toText(
|
// fontSize: 24,
|
||||||
fontSize: 24,
|
// fontWeight: FontWeight.bold,
|
||||||
fontWeight: FontWeight.bold,
|
// ),
|
||||||
),
|
// ],
|
||||||
],
|
// ),
|
||||||
),
|
// backgroundColor: MyColors.lightGreyEAColor,
|
||||||
backgroundColor: MyColors.lightGreyEAColor,
|
// progressColor: MyColors.darkPrimaryColor,
|
||||||
progressColor: MyColors.darkPrimaryColor,
|
// ),
|
||||||
),
|
// ],
|
||||||
],
|
// )
|
||||||
)
|
// ],
|
||||||
],
|
// ).toWhiteContainer(
|
||||||
).toWhiteContainer(
|
// width: double.infinity,
|
||||||
width: double.infinity,
|
// pading: const EdgeInsets.all(12),
|
||||||
pading: const EdgeInsets.all(12),
|
// margin: const EdgeInsets.all(21),
|
||||||
margin: const EdgeInsets.all(21),
|
// );
|
||||||
);
|
// }
|
||||||
}
|
// }
|
||||||
}
|
|
||||||
|
|||||||
@ -1,74 +1,68 @@
|
|||||||
import 'package:mc_common_app/generated/locale_keys.g.dart';
|
// import 'package:mc_common_app/generated/locale_keys.g.dart';
|
||||||
import 'package:mc_common_app/view_models/requests_view_model.dart';
|
// import 'package:mc_common_app/view_models/requests_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/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/utils/enums.dart';
|
// import 'package:mc_common_app/utils/enums.dart';
|
||||||
import 'package:mc_common_app/views/requests/widget/request_item.dart';
|
// import 'package:mc_common_app/views/requests/widget/request_item.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/categories_list.dart';
|
// import 'package:mc_common_app/widgets/common_widgets/categories_list.dart';
|
||||||
import 'package:provider/provider.dart';
|
// import 'package:provider/provider.dart';
|
||||||
import 'package:easy_localization/easy_localization.dart';
|
// import 'package:easy_localization/easy_localization.dart';
|
||||||
|
//
|
||||||
|
// class MyRequestsFragment extends StatelessWidget {
|
||||||
class MyRequestsFragment extends StatelessWidget {
|
// const MyRequestsFragment({super.key});
|
||||||
final bool isNeedAppBar;
|
//
|
||||||
VoidCallback onBackButtonTapped;
|
// @override
|
||||||
|
// Widget build(BuildContext context) {
|
||||||
MyRequestsFragment({super.key, this.isNeedAppBar = true, required this.onBackButtonTapped});
|
// return Scaffold(
|
||||||
|
// appBar: CustomAppBar(
|
||||||
@override
|
// title: LocaleKeys.myRequests.tr(),
|
||||||
Widget build(BuildContext context) {
|
// isRemoveBackButton: true,
|
||||||
return Scaffold(
|
// ),
|
||||||
appBar: !isNeedAppBar
|
// body: Container(
|
||||||
? null
|
// color: MyColors.backgroundColor,
|
||||||
: CustomAppBar(
|
// width: double.infinity,
|
||||||
title: LocaleKeys.myServiceBranches.tr(),
|
// height: double.infinity,
|
||||||
onBackButtonTapped: onBackButtonTapped,
|
// child: Consumer(builder: (BuildContext context, RequestsVM requestsVM, Widget? child) {
|
||||||
),
|
// return Column(
|
||||||
body: Container(
|
// children: [
|
||||||
color: MyColors.backgroundColor,
|
// 16.height,
|
||||||
width: double.infinity,
|
// FiltersList(
|
||||||
height: double.infinity,
|
// filterList: requestsVM.requestsTypeFilterOptions,
|
||||||
child: Consumer(builder: (BuildContext context, RequestsVM requestsVM, Widget? child) {
|
// onFilterTapped: (index, selectedFilterId) {
|
||||||
return Column(
|
// requestsVM.applyFilterOnRequestsVM(requestsTypeEnum: selectedFilterId.toRequestTypeStatusEnum());
|
||||||
children: [
|
// },
|
||||||
16.height,
|
// ),
|
||||||
FiltersList(
|
// 8.height,
|
||||||
filterList: requestsVM.requestsTypeFilterOptions,
|
// Expanded(
|
||||||
onFilterTapped: (index, selectedFilterId) {
|
// child: RefreshIndicator(
|
||||||
requestsVM.applyFilterOnRequestsVM(requestsTypeEnum: selectedFilterId.toRequestTypeStatusEnum());
|
// onRefresh: () async => await requestsVM.getRequests(isNeedToRebuild: true, appType: AppType.provider),
|
||||||
},
|
// child: requestsVM.state == ViewState.busy
|
||||||
),
|
// ? const Center(child: CircularProgressIndicator())
|
||||||
8.height,
|
// : requestsVM.myFilteredRequests.isEmpty
|
||||||
Expanded(
|
// ? Column(
|
||||||
child: RefreshIndicator(
|
// mainAxisAlignment: MainAxisAlignment.center,
|
||||||
onRefresh: () async => await requestsVM.getRequests(isNeedToRebuild: true, appType: AppType.provider),
|
// children: [
|
||||||
child: requestsVM.state == ViewState.busy
|
// LocaleKeys.noRequeststoShow.tr().toText(fontSize: 16, color: MyColors.lightTextColor),
|
||||||
? const Center(child: CircularProgressIndicator())
|
// ],
|
||||||
: requestsVM.myFilteredRequests.isEmpty
|
// )
|
||||||
? Column(
|
// : ListView.separated(
|
||||||
mainAxisAlignment: MainAxisAlignment.center,
|
// itemBuilder: (context, index) {
|
||||||
children: [
|
// return RequestItem(request: requestsVM.myFilteredRequests[index], appType: AppType.provider, requestIndex: index);
|
||||||
LocaleKeys.noRequeststoShow.tr().toText(fontSize: 16, color: MyColors.lightTextColor),
|
// },
|
||||||
],
|
// separatorBuilder: (context, index) {
|
||||||
)
|
// return 16.height;
|
||||||
: ListView.separated(
|
// },
|
||||||
itemBuilder: (context, index) {
|
// itemCount: requestsVM.myFilteredRequests.length,
|
||||||
return RequestItem(request: requestsVM.myFilteredRequests[index], appType: AppType.provider, requestIndex: index);
|
// padding: const EdgeInsets.only(left: 16, right: 16, bottom: 16, top: 8),
|
||||||
},
|
// ),
|
||||||
separatorBuilder: (context, index) {
|
// ))
|
||||||
return 16.height;
|
// ],
|
||||||
},
|
// );
|
||||||
itemCount: requestsVM.myFilteredRequests.length,
|
// }),
|
||||||
padding: const EdgeInsets.only(left: 16, right: 16, bottom: 16, top: 8),
|
// ),
|
||||||
),
|
// );
|
||||||
))
|
// }
|
||||||
],
|
// }
|
||||||
);
|
|
||||||
}),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
Loading…
Reference in New Issue