fix localization and UI updates

fatima_dev
Fatimah.Alshammari 1 month ago
parent 78800dd297
commit 72b5a59bc1

@ -1,6 +1,7 @@
import 'dart:async';
import 'package:car_customer_app/views/branches/components/branch_reviews_widget.dart';
import 'package:car_customer_app/views/branches/components/items_list_sheet.dart';
import 'package:mc_common_app/classes/app_state.dart';
import 'package:mc_common_app/utils/utils.dart';
import 'package:mc_common_app/view_models/appointments_view_model.dart';
import 'package:easy_localization/easy_localization.dart';
@ -46,6 +47,7 @@ class _BranchDetailViewState extends State<BranchDetailView> {
});
}
@override
void dispose() {
appointmentsVM.resetCurrentBranchRatings();
@ -90,7 +92,7 @@ class _BranchDetailViewState extends State<BranchDetailView> {
children: [
(LocaleKeys.location.tr() + ":").toText(color: MyColors.lightTextColor, fontSize: 12),
4.width,
(widget.branchDetailModel.distanceKm.toString() + " km").toText(fontSize: 12, isBold: true),
(widget.branchDetailModel.distanceKm.toString() + LocaleKeys.km.tr()).toText(fontSize: 12, isBold: true),
],
),
Row(
@ -199,24 +201,28 @@ class _BranchDetailViewState extends State<BranchDetailView> {
}
Widget buildServicesList() {
final isArabic = AppState().isArabic(context);
return ListView.separated(
itemBuilder: (context, index) {
return ExpansionTile(
tilePadding: EdgeInsets.zero,
title: (widget.branchDetailModel.branchServices![index].serviceDescription ?? "").toText(fontSize: 16),
// title: (widget.branchDetailModel.branchServices![index].serviceDescription ?? "").toText(fontSize: 16),
title: (isArabic
? (widget.branchDetailModel.branchServices![index].serviceDescriptionN ?? widget.branchDetailModel.branchServices![index].serviceDescription ?? "")
: (widget.branchDetailModel.branchServices![index].serviceDescription ?? "")).toText(fontSize: 16),
children: [
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
showItem(LocaleKeys.allowingHomeService.tr() + " :", (widget.branchDetailModel.branchServices![index].isAllowAppointment ?? false) ? LocaleKeys.yes.tr() : LocaleKeys.no.tr(), valueColor: Colors.green),
if ((widget.branchDetailModel.branchServices![index].isAllowAppointment ?? false)) ...[
showItem(LocaleKeys.homeServiceRange.tr() + " :", widget.branchDetailModel.branchServices![index].customerLocationRange.toString() + "KM"),
showItem(LocaleKeys.homeServiceRange.tr() + " :", widget.branchDetailModel.branchServices![index].customerLocationRange.toString() + LocaleKeys.km.tr()),
showItem(LocaleKeys.chargesPerKM.tr() + " :", widget.branchDetailModel.branchServices![index].customerLocationRange.toString() + LocaleKeys.sar.tr()),
],
8.height,
((widget.branchDetailModel.branchServices![index].itemsCount != null && widget.branchDetailModel.branchServices![index].itemsCount! > 0)
? widget.branchDetailModel.branchServices![index].itemsCount.toString() + " items"
: "No" + " items")
? widget.branchDetailModel.branchServices![index].itemsCount.toString() + LocaleKeys.items.tr()
: LocaleKeys.no_items.tr())
.toText(
fontSize: 12,
isBold: true,

@ -64,9 +64,9 @@ class _ItemsListSheetState extends State<ItemsListSheet> {
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),
showItem(LocaleKeys.availableforAppointment.tr() + ":", (serviceItemModel.isAllowAppointment ?? false) ? LocaleKeys.yes.tr() : LocaleKeys.no.tr(), valueColor: Colors.green),
showItem(LocaleKeys.allowingWorkshopService.tr() + ":", (serviceItemModel.isAppointmentCompanyLoc ?? false) ? LocaleKeys.yes.tr() : LocaleKeys.no.tr(), valueColor: Colors.green),
showItem(LocaleKeys.allowingHomeService.tr() + ":", (serviceItemModel.isAppointmentCustomerLoc ?? false) ? LocaleKeys.yes.tr() : LocaleKeys.no.tr(), valueColor: Colors.green),
12.height,
LocaleKeys.serviceAmount.tr().toText(fontSize: 12, color: MyColors.lightTextColor, isBold: true),
Row(

@ -103,7 +103,14 @@ class _ProviderProfileViewState extends State<ProviderProfileView> {
children: [
("${LocaleKeys.memberSince.tr()}:").toText(color: MyColors.lightTextColor, fontSize: 12),
4.width,
"${DateHelper.formatAsMonthYear(
// "${DateHelper.formatAsMonthYear(
// DateHelper.parseStringToDate(
// DateHelper.formatDateT(
// appointmentsVM.providerProfileModel!.memberSince ?? "",
// ),
// ),
// )}"
"${DateFormat('MMMM yyyy', context.locale.languageCode).format(
DateHelper.parseStringToDate(
DateHelper.formatDateT(
appointmentsVM.providerProfileModel!.memberSince ?? "",
@ -137,7 +144,7 @@ class _ProviderProfileViewState extends State<ProviderProfileView> {
},
providerImageUrl: (branchModel.branchImages != null && branchModel.branchImages!.isNotEmpty) ? (branchModel.branchImages!.first.imageUrl ?? "") : "",
title: branchModel.branchName ?? "",
providerLocation: branchModel.distanceKm.toString() + " KM",
providerLocation: branchModel.distanceKm.toString() + LocaleKeys.km.tr(),
providerName: branchModel.serviceProviderName ?? "",
providerRatings: (branchModel.branchRateAvg ?? 0.0),
services: branchModel.branchServices,

@ -1,111 +1,111 @@
import 'package:flutter/material.dart';
import 'package:mc_common_app/extensions/int_extensions.dart';
import 'package:mc_common_app/extensions/string_extensions.dart';
import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
class AdWidget extends StatelessWidget {
final int count;
const AdWidget({Key? key, required this.count}) : super(key: key);
@override
Widget build(BuildContext context) {
return ListView.builder(
itemCount: count,
shrinkWrap: true,
physics: const NeverScrollableScrollPhysics(),
itemBuilder: (BuildContext context, int index) {
return Padding(
padding: const EdgeInsets.only(bottom: 15),
child: buildAdContainer(),
);
});
}
Widget buildAdContainer() {
return Row(
children: [
Image.asset(
"assets/images/bn_car.jpeg",
width: 80,
height: 80,
fit: BoxFit.cover,
),
12.width,
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.start,
children: [
"Toyota Crolla".toText(fontSize: 16, isBold: true),
Row(
children: [
"Model:".toText(
color: MyColors.lightTextColor,
),
2.width,
"2019".toText(),
],
),
Row(
children: [
"Mileage:".toText(
color: MyColors.lightTextColor,
),
2.width,
"73,000 km".toText(),
],
),
],
),
),
Column(
crossAxisAlignment: CrossAxisAlignment.end,
mainAxisAlignment: MainAxisAlignment.start,
children: [
"Riyadh".toText(
color: MyColors.lightTextColor,
),
"9 Hours Ago".toText(
color: MyColors.lightTextColor,
),
],
),
],
),
8.height,
Row(
children: [
Expanded(
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.end,
children: [
"30,000".toText(fontSize: 16, isBold: true),
2.width,
"SAR:".toText(
color: MyColors.lightTextColor,
),
],
),
),
const Icon(Icons.arrow_forward)
],
),
],
),
),
],
).toWhiteContainer(width: double.infinity, allPading: 12);
}
}
//
// import 'package:flutter/material.dart';
// import 'package:mc_common_app/extensions/int_extensions.dart';
// import 'package:mc_common_app/extensions/string_extensions.dart';
// import 'package:mc_common_app/theme/colors.dart';
// import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
//
// class AdWidget extends StatelessWidget {
// final int count;
//
// const AdWidget({Key? key, required this.count}) : super(key: key);
//
// @override
// Widget build(BuildContext context) {
// return ListView.builder(
// itemCount: count,
// shrinkWrap: true,
// physics: const NeverScrollableScrollPhysics(),
// itemBuilder: (BuildContext context, int index) {
// return Padding(
// padding: const EdgeInsets.only(bottom: 15),
// child: buildAdContainer(),
// );
// });
// }
//
// Widget buildAdContainer() {
// return Row(
// children: [
// Image.asset(
// "assets/images/bn_car.jpeg",
// width: 80,
// height: 80,
// fit: BoxFit.cover,
// ),
// 12.width,
// Expanded(
// child: Column(
// crossAxisAlignment: CrossAxisAlignment.start,
// children: [
// Row(
// mainAxisAlignment: MainAxisAlignment.start,
// crossAxisAlignment: CrossAxisAlignment.start,
// children: [
// Expanded(
// child: Column(
// crossAxisAlignment: CrossAxisAlignment.start,
// mainAxisAlignment: MainAxisAlignment.start,
// children: [
// "Toyota Crolla".toText(fontSize: 16, isBold: true),
// Row(
// children: [
// "Model:".toText(
// color: MyColors.lightTextColor,
// ),
// 2.width,
// "2019".toText(),
// ],
// ),
// Row(
// children: [
// "Mileage:".toText(
// color: MyColors.lightTextColor,
// ),
// 2.width,
// "73,000 km".toText(),
// ],
// ),
// ],
// ),
// ),
// Column(
// crossAxisAlignment: CrossAxisAlignment.end,
// mainAxisAlignment: MainAxisAlignment.start,
// children: [
// "Riyadh".toText(
// color: MyColors.lightTextColor,
// ),
// "9 Hours Ago".toText(
// color: MyColors.lightTextColor,
// ),
// ],
// ),
// ],
// ),
// 8.height,
// Row(
// children: [
// Expanded(
// child: Row(
// mainAxisAlignment: MainAxisAlignment.start,
// crossAxisAlignment: CrossAxisAlignment.end,
// children: [
// "30,000".toText(fontSize: 16, isBold: true),
// 2.width,
// "SAR:".toText(
// color: MyColors.lightTextColor,
// ),
// ],
// ),
// ),
// const Icon(Icons.arrow_forward)
// ],
// ),
// ],
// ),
// ),
// ],
// ).toWhiteContainer(width: double.infinity, allPading: 12);
// }
// }

@ -1,90 +1,90 @@
import 'package:flutter/material.dart';
import 'package:mc_common_app/extensions/int_extensions.dart';
import 'package:mc_common_app/extensions/string_extensions.dart';
import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
class AppointmentSliderWidget extends StatelessWidget {
const AppointmentSliderWidget({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Column(
children: [
Row(
children: [
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.start,
children: [
"Olaya Brach".toText(
color: MyColors.lightTextColor,
isBold: true,
),
"Abdullah Alhbas".toText(
isBold: true,
fontSize: 14,
),
Row(
children: [
"Appt. On:".toText(
color: MyColors.lightTextColor,
),
2.width,
"19-Mar-2023 11:48 AM".toText(),
],
),
],
),
),
"1+ Requests".toText(fontSize: 10).toContainer(
borderRadius: 15,
backgroundColor: MyColors.lightGreyEAColor,
padding: const EdgeInsets.symmetric(
vertical: 6,
horizontal: 12,
),
),
],
),
8.height,
Row(
crossAxisAlignment: CrossAxisAlignment.end,
children: [
Expanded(
child: Column(
children: [
showServices("Maintenance"),
2.height,
showServices("Accessories and Modification"),
],
),
),
const Icon(
Icons.arrow_forward,
),
],
),
],
).toWhiteContainer(width: double.infinity, allPading: 0);
}
Widget showServices(String title) {
return Row(
children: [
const Icon(
Icons.ac_unit,
color: MyColors.primaryColor,
size: 18,
),
8.width,
title.toText(
fontSize: 14,
isBold: true,
),
],
);
}
}
//
// import 'package:flutter/material.dart';
// import 'package:mc_common_app/extensions/int_extensions.dart';
// import 'package:mc_common_app/extensions/string_extensions.dart';
// import 'package:mc_common_app/theme/colors.dart';
// import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
//
// class AppointmentSliderWidget extends StatelessWidget {
// const AppointmentSliderWidget({Key? key}) : super(key: key);
//
// @override
// Widget build(BuildContext context) {
// return Column(
// children: [
// Row(
// children: [
// Expanded(
// child: Column(
// crossAxisAlignment: CrossAxisAlignment.start,
// mainAxisAlignment: MainAxisAlignment.start,
// children: [
// "Olaya Brach".toText(
// color: MyColors.lightTextColor,
// isBold: true,
// ),
// "Abdullah Alhbas".toText(
// isBold: true,
// fontSize: 14,
// ),
// Row(
// children: [
// "Appt. On:".toText(
// color: MyColors.lightTextColor,
// ),
// 2.width,
// "19-Mar-2023 11:48 AM".toText(),
// ],
// ),
// ],
// ),
// ),
// "1+ Requests".toText(fontSize: 10).toContainer(
// borderRadius: 15,
// backgroundColor: MyColors.lightGreyEAColor,
// padding: const EdgeInsets.symmetric(
// vertical: 6,
// horizontal: 12,
// ),
// ),
// ],
// ),
// 8.height,
// Row(
// crossAxisAlignment: CrossAxisAlignment.end,
// children: [
// Expanded(
// child: Column(
// children: [
// showServices("Maintenance"),
// 2.height,
// showServices("Accessories and Modification"),
// ],
// ),
// ),
// const Icon(
// Icons.arrow_forward,
// ),
// ],
// ),
// ],
// ).toWhiteContainer(width: double.infinity, allPading: 0);
// }
//
// Widget showServices(String title) {
// return Row(
// children: [
// const Icon(
// Icons.ac_unit,
// color: MyColors.primaryColor,
// size: 18,
// ),
// 8.width,
// title.toText(
// fontSize: 14,
// isBold: true,
// ),
// ],
// );
// }
// }

@ -36,9 +36,11 @@ dependencies:
cupertino_icons: ^1.0.2
mc_common_app:
path: /Volumes/Data/Projects/Flutter_Projects/car_common_app
# path: /Volumes/Data/Projects/Flutter_Projects/car_common_app
# path: /Users/faizhashmi/Development/Projects/MyProjects/CloudSolutions/car_common_app
# path: /Users/aamir/StudioProjects/car_common_app
path: C:/dev/Mawater/car_common_app
dev_dependencies:
flutter_test:

Loading…
Cancel
Save