BASE: Switch From EasyLocalization To GetX Localization.

This commit is contained in:
2025-12-04 16:56:39 +05:00
parent 157545f1c0
commit bf1d07a048
218 changed files with 2535 additions and 2313 deletions

View File

@@ -4,11 +4,11 @@ import 'package:customer/themes/show_toast_dialog.dart';
import 'package:customer/utils/utils.dart';
import 'package:dotted_border/dotted_border.dart';
import 'package:dropdown_textfield/dropdown_textfield.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_svg/svg.dart';
import 'package:get/get.dart' hide Trans;
import 'package:get/get.dart';
import '../../constant/constant.dart';
import '../../controllers/book_parcel_controller.dart';
import '../../controllers/theme_controller.dart';
@@ -65,14 +65,14 @@ class BookParcelScreen extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
"Book Your Document Delivery".tr(),
"Book Your Document Delivery".tr,
style: AppThemeData.boldTextStyle(
fontSize: 18,
color: AppThemeData.grey900,
),
),
Text(
"Schedule a secure and timely pickup & delivery".tr(),
"Schedule a secure and timely pickup & delivery".tr,
maxLines: 1,
overflow: TextOverflow.ellipsis,
style: AppThemeData.mediumTextStyle(
@@ -100,7 +100,7 @@ class BookParcelScreen extends StatelessWidget {
const SizedBox(height: 16),
buildInfoSectionView(
title: "Sender Information".tr(),
title: "Sender Information".tr,
locationController: controller.senderLocationController.value,
nameController: controller.senderNameController.value,
mobileController: controller.senderMobileController.value,
@@ -134,7 +134,7 @@ class BookParcelScreen extends StatelessWidget {
} else {
ShowToastDialog.showToast(
"Service is unavailable at the selected address."
.tr(),
.tr,
);
}
}
@@ -162,7 +162,7 @@ class BookParcelScreen extends StatelessWidget {
} else {
ShowToastDialog.showToast(
"Service is unavailable at the selected address."
.tr(),
.tr,
);
}
// ✅ <-- Add this
@@ -173,7 +173,7 @@ class BookParcelScreen extends StatelessWidget {
),
const SizedBox(height: 16),
buildInfoSectionView(
title: "Receiver Information".tr(),
title: "Receiver Information".tr,
locationController:
controller.receiverLocationController.value,
nameController: controller.receiverNameController.value,
@@ -209,7 +209,7 @@ class BookParcelScreen extends StatelessWidget {
} else {
ShowToastDialog.showToast(
"Service is unavailable at the selected address."
.tr(),
.tr,
);
}
}
@@ -237,7 +237,7 @@ class BookParcelScreen extends StatelessWidget {
} else {
ShowToastDialog.showToast(
"Service is unavailable at the selected address."
.tr(),
.tr,
);
}
}
@@ -249,7 +249,7 @@ class BookParcelScreen extends StatelessWidget {
const SizedBox(height: 15),
RoundedButtonFill(
title: "Continue".tr(),
title: "Continue".tr,
onPress: () {
controller.bookNow();
},
@@ -283,7 +283,7 @@ class BookParcelScreen extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
"Select delivery type".tr(),
"Select delivery type".tr,
style: AppThemeData.boldTextStyle(
color: isDark ? AppThemeData.greyDark500 : AppThemeData.grey500,
fontSize: 13,
@@ -305,7 +305,7 @@ class BookParcelScreen extends StatelessWidget {
const SizedBox(width: 20),
Expanded(
child: Text(
"As soon as possible".tr(),
"As soon as possible".tr,
style: AppThemeData.semiBoldTextStyle(
color:
isDark
@@ -348,7 +348,7 @@ class BookParcelScreen extends StatelessWidget {
const SizedBox(width: 20),
Expanded(
child: Text(
"Scheduled".tr(),
"Scheduled".tr,
style: AppThemeData.semiBoldTextStyle(
color:
isDark
@@ -377,7 +377,7 @@ class BookParcelScreen extends StatelessWidget {
GestureDetector(
onTap: () => controller.pickScheduledDate(context),
child: TextFieldWidget(
hintText: "When to pickup at this address".tr(),
hintText: "When to pickup at this address".tr,
controller: controller.scheduledDateController.value,
enable: false,
backgroundColor:
@@ -398,7 +398,7 @@ class BookParcelScreen extends StatelessWidget {
GestureDetector(
onTap: () => controller.pickScheduledTime(context),
child: TextFieldWidget(
hintText: "When to pickup at this address".tr(),
hintText: "When to pickup at this address".tr,
controller: controller.scheduledTimeController.value,
enable: false,
// onchange: (v) => controller.pickScheduledTime(context),
@@ -439,7 +439,7 @@ class BookParcelScreen extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
"Upload parcel image".tr(),
"Upload parcel image".tr,
style: AppThemeData.boldTextStyle(
color: isDark ? AppThemeData.greyDark500 : AppThemeData.grey500,
fontSize: 13,
@@ -469,7 +469,7 @@ class BookParcelScreen extends StatelessWidget {
),
const SizedBox(height: 10),
Text(
"Upload Parcel Image".tr(),
"Upload Parcel Image".tr,
style: AppThemeData.mediumTextStyle(
fontSize: 16,
color:
@@ -480,7 +480,7 @@ class BookParcelScreen extends StatelessWidget {
),
const SizedBox(height: 4),
Text(
"Supported: .jpg, .jpeg, .png".tr(),
"Supported: .jpg, .jpeg, .png".tr,
style: AppThemeData.semiBoldTextStyle(
fontSize: 12,
color:
@@ -490,7 +490,7 @@ class BookParcelScreen extends StatelessWidget {
),
),
Text(
"Max size 1MB".tr(),
"Max size 1MB".tr,
style: AppThemeData.semiBoldTextStyle(
fontSize: 12,
color:
@@ -501,7 +501,7 @@ class BookParcelScreen extends StatelessWidget {
),
const SizedBox(height: 8),
RoundedButtonFill(
title: "Browse Image".tr(),
title: "Browse Image".tr,
onPress: () {
controller.onCameraClick(Get.context!);
},
@@ -597,7 +597,7 @@ class BookParcelScreen extends StatelessWidget {
GestureDetector(
onTap: onTap,
child: TextFieldWidget(
hintText: "Your Location".tr(),
hintText: "Your Location".tr,
controller: locationController,
suffix: const Padding(
@@ -614,7 +614,7 @@ class BookParcelScreen extends StatelessWidget {
const SizedBox(height: 10),
TextFieldWidget(
hintText: "Name".tr(),
hintText: "Name".tr,
controller: nameController,
backgroundColor:
isDark ? AppThemeData.surfaceDark : AppThemeData.surface,
@@ -624,7 +624,7 @@ class BookParcelScreen extends StatelessWidget {
const SizedBox(height: 10),
TextFieldWidget(
hintText: "Enter Mobile number".tr(),
hintText: "Enter Mobile number".tr,
controller: mobileController,
textInputType: TextInputType.number,
inputFormatters: [
@@ -686,7 +686,7 @@ class BookParcelScreen extends StatelessWidget {
clearOption: false,
enableSearch: false,
textFieldDecoration: InputDecoration(
hintText: "Select parcel Weight".tr(),
hintText: "Select parcel Weight".tr,
hintStyle: AppThemeData.regularTextStyle(
fontSize: 14,
color:
@@ -715,9 +715,9 @@ class BookParcelScreen extends StatelessWidget {
dropDownList:
controller.parcelWeight.map((e) {
return DropDownValueModel(
name: e.title ?? 'Normal'.tr(),
name: e.title ?? 'Normal'.tr,
value:
e.title ?? 'Normal'.tr(), // safer to use title string
e.title ?? 'Normal'.tr, // safer to use title string
);
}).toList(),
onChanged: (val) {
@@ -734,7 +734,7 @@ class BookParcelScreen extends StatelessWidget {
const SizedBox(height: 10),
TextFieldWidget(
hintText: "Notes (Optional)".tr(),
hintText: "Notes (Optional)".tr,
controller: noteController,
backgroundColor:
isDark ? AppThemeData.surfaceDark : AppThemeData.surface,

View File

@@ -1,9 +1,8 @@
import 'package:customer/constant/constant.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:geocoding/geocoding.dart';
import 'package:geolocator/geolocator.dart';
import 'package:get/get.dart' hide Trans;
import 'package:get/get.dart';
import '../../controllers/home_parcel_controller.dart';
import '../../controllers/theme_controller.dart';
import '../../models/banner_model.dart';
@@ -73,7 +72,7 @@ class HomeParcelScreen extends StatelessWidget {
Get.offAll(const LoginScreen());
},
child: Text(
"Login".tr(),
"Login".tr,
style: AppThemeData.boldTextStyle(
fontSize: 14,
color: AppThemeData.grey900,
@@ -100,7 +99,7 @@ class HomeParcelScreen extends StatelessWidget {
Constant.checkPermission(
onTap: () async {
ShowToastDialog.showLoader(
"Please wait...".tr(),
"Please wait...".tr,
);
ShippingAddress shippingAddress =
@@ -222,7 +221,7 @@ class HomeParcelScreen extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
"What are you sending?".tr(),
"What are you sending?".tr,
style: AppThemeData.mediumTextStyle(
fontSize: 18,
color:

View File

@@ -1,9 +1,10 @@
import 'package:customer/screen_ui/auth_screens/login_screen.dart';
import 'package:customer/screen_ui/parcel_service/parcel_order_details.dart';
import 'package:customer/themes/round_button_fill.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:customer/utils/app_router.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart' hide Trans;
import 'package:get/get.dart';
import '../../constant/constant.dart';
import '../../controllers/parcel_my_booking_controller.dart';
import '../../controllers/theme_controller.dart';
@@ -36,7 +37,7 @@ class MyBookingScreen extends StatelessWidget {
children: [
const SizedBox(width: 10),
Text(
"Parcel History".tr(),
"Parcel History".tr,
style: AppThemeData.boldTextStyle(
fontSize: 18,
color: AppThemeData.grey900,
@@ -75,7 +76,7 @@ class MyBookingScreen extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Text(
"Please Log In to Continue".tr(),
"Please Log In to Continue".tr,
style: TextStyle(
color:
isDark
@@ -88,7 +89,7 @@ class MyBookingScreen extends StatelessWidget {
const SizedBox(height: 5),
Text(
"Youre not logged in. Please sign in to access your account and explore all features."
.tr(),
.tr,
textAlign: TextAlign.center,
style: TextStyle(
color:
@@ -101,7 +102,7 @@ class MyBookingScreen extends StatelessWidget {
),
const SizedBox(height: 20),
RoundedButtonFill(
title: "Log in".tr(),
title: "Log in".tr,
width: 55,
height: 5.5,
color: AppThemeData.primary300,
@@ -121,7 +122,7 @@ class MyBookingScreen extends StatelessWidget {
if (orders.isEmpty) {
return Center(
child: Text(
"No orders found".tr(),
"No orders found".tr,
style: AppThemeData.mediumTextStyle(
color:
isDark
@@ -169,7 +170,7 @@ class MyBookingScreen extends StatelessWidget {
bottom: 8.0,
),
child: Text(
"${'Order Date:'.tr()}${order.isSchedule == true ? controller.formatDate(order.createdAt!) : controller.formatDate(order.senderPickupDateTime!)}",
"${'Order Date:'.tr}${order.isSchedule == true ? controller.formatDate(order.createdAt!) : controller.formatDate(order.senderPickupDateTime!)}",
style: AppThemeData.mediumTextStyle(
fontSize: 14,
color: AppThemeData.info400,
@@ -230,7 +231,7 @@ class MyBookingScreen extends StatelessWidget {
children: [
_infoSection(
"Pickup Address (Sender):"
.tr(),
.tr,
order.sender?.name ?? '',
order.sender?.address ?? '',
order.sender?.phone ?? '',
@@ -243,7 +244,7 @@ class MyBookingScreen extends StatelessWidget {
const SizedBox(height: 16),
_infoSection(
"Delivery Address (Receiver):"
.tr(),
.tr,
order.receiver?.name ?? '',
order.receiver?.address ??
'',

View File

@@ -1,7 +1,8 @@
import 'package:customer/screen_ui/parcel_service/parcel_dashboard_screen.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:customer/utils/app_router.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart' hide Trans;
import 'package:get/get.dart';
import 'package:customer/themes/app_them_data.dart';
import 'package:customer/themes/round_button_fill.dart';
import '../../controllers/parcel_dashboard_controller.dart';
@@ -31,7 +32,7 @@ class OrderSuccessfullyPlaced extends StatelessWidget {
Padding(
padding: const EdgeInsets.symmetric(horizontal: 25),
child: Text(
"Your Order Has Been Placed!".tr(),
"Your Order Has Been Placed!".tr,
style: AppThemeData.boldTextStyle(
fontSize: 22,
color:
@@ -47,7 +48,7 @@ class OrderSuccessfullyPlaced extends StatelessWidget {
padding: const EdgeInsets.symmetric(horizontal: 50),
child: Text(
"Weve received your parcel booking and its now being processed. You can track its status in real time."
.tr(),
.tr,
style: AppThemeData.mediumTextStyle(
fontSize: 16,
color:
@@ -60,7 +61,7 @@ class OrderSuccessfullyPlaced extends StatelessWidget {
),
const SizedBox(height: 30),
RoundedButtonFill(
title: "Track Your Order".tr(),
title: "Track Your Order".tr,
onPress: () {
print("Tracking Order: $parcelOrder");
//Get.to(() => TrackOrderScreen(), arguments: {'order': parcelOrder});

View File

@@ -6,9 +6,9 @@ import 'package:customer/themes/app_them_data.dart';
import 'package:customer/themes/responsive.dart';
import 'package:customer/widget/my_separator.dart';
import 'package:dotted_border/dotted_border.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart' hide Trans;
import 'package:get/get.dart';
class ParcelCouponScreen extends StatelessWidget {
const ParcelCouponScreen({super.key});
@@ -51,7 +51,7 @@ class ParcelCouponScreen extends StatelessWidget {
),
const SizedBox(width: 10),
Text(
"Coupon".tr(),
"Coupon".tr,
style: AppThemeData.boldTextStyle(
fontSize: 18,
color: AppThemeData.grey900,
@@ -65,7 +65,7 @@ class ParcelCouponScreen extends StatelessWidget {
controller.isLoading.value
? Constant.loader()
: controller.cabCouponList.isEmpty
? Constant.showEmptyView(message: "Coupon not found".tr())
? Constant.showEmptyView(message: "Coupon not found".tr)
: ListView.builder(
shrinkWrap: true,
itemCount: controller.cabCouponList.length,
@@ -108,7 +108,7 @@ class ParcelCouponScreen extends StatelessWidget {
child: RotatedBox(
quarterTurns: -1,
child: Text(
"${couponModel.discountType == "Fix Price" ? Constant.amountShow(amount: couponModel.discount) : "${couponModel.discount}%"} ${'Off'.tr()}",
"${couponModel.discountType == "Fix Price" ? Constant.amountShow(amount: couponModel.discount) : "${couponModel.discount}%"} ${'Off'.tr}",
textAlign: TextAlign.start,
style: TextStyle(
fontFamily: AppThemeData.semiBold,
@@ -179,7 +179,7 @@ class ParcelCouponScreen extends StatelessWidget {
Get.back(result: couponModel);
},
child: Text(
"Tap To Apply".tr(),
"Tap To Apply".tr,
textAlign: TextAlign.start,
style: TextStyle(
fontFamily: AppThemeData.medium,

View File

@@ -2,10 +2,10 @@ import 'package:customer/constant/constant.dart';
import 'package:customer/controllers/parcel_dashboard_controller.dart';
import 'package:customer/controllers/theme_controller.dart';
import 'package:customer/themes/app_them_data.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:get/get.dart' hide Trans;
import 'package:get/get.dart';
class ParcelDashboardScreen extends StatelessWidget {
const ParcelDashboardScreen({super.key});
@@ -53,21 +53,21 @@ class ParcelDashboardScreen extends StatelessWidget {
isDark,
index: 0,
assetIcon: "assets/icons/ic_home_parcel.svg",
label: 'Home'.tr(),
label: 'Home'.tr,
controller: controller,
),
navigationBarItem(
isDark,
index: 1,
assetIcon: "assets/icons/ic_mybooking_parcel.svg",
label: 'My Bookings'.tr(),
label: 'My Bookings'.tr,
controller: controller,
),
navigationBarItem(
isDark,
index: 2,
assetIcon: "assets/icons/ic_profile_parcel.svg",
label: 'Profile'.tr(),
label: 'Profile'.tr,
controller: controller,
),
]
@@ -76,28 +76,28 @@ class ParcelDashboardScreen extends StatelessWidget {
isDark,
index: 0,
assetIcon: "assets/icons/ic_home_parcel.svg",
label: 'Home'.tr(),
label: 'Home'.tr,
controller: controller,
),
navigationBarItem(
isDark,
index: 1,
assetIcon: "assets/icons/ic_mybooking_parcel.svg",
label: 'My Bookings'.tr(),
label: 'My Bookings'.tr,
controller: controller,
),
navigationBarItem(
isDark,
index: 2,
assetIcon: "assets/icons/ic_wallet_parcel.svg",
label: 'Wallet'.tr(),
label: 'Wallet'.tr,
controller: controller,
),
navigationBarItem(
isDark,
index: 3,
assetIcon: "assets/icons/ic_profile_parcel.svg",
label: 'Profile'.tr(),
label: 'Profile'.tr,
controller: controller,
),
],
@@ -120,8 +120,8 @@ class ParcelDashboardScreen extends StatelessWidget {
padding: const EdgeInsets.symmetric(vertical: 5),
child: SvgPicture.asset(
assetIcon,
height: label == 'Wallet'.tr() ? 18 : 22,
width: label == 'Wallet'.tr() ? 18 : 22,
height: label == 'Wallet'.tr ? 18 : 22,
width: label == 'Wallet'.tr ? 18 : 22,
color:
controller.selectedIndex.value == index
? isDark

View File

@@ -1,10 +1,10 @@
import 'package:customer/models/coupon_model.dart';
import 'package:customer/screen_ui/parcel_service/parcel_coupon_screen.dart';
import 'package:dotted_border/dotted_border.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
import 'package:get/get.dart' hide Trans;
import 'package:get/get.dart';
import '../../constant/constant.dart';
import '../../controllers/parcel_order_confirmation_controller.dart';
import '../../controllers/theme_controller.dart';
@@ -56,7 +56,7 @@ class ParcelOrderConfirmationScreen extends StatelessWidget {
),
const SizedBox(width: 10),
Text(
"Order Confirmation".tr(),
"Order Confirmation".tr,
style: AppThemeData.boldTextStyle(
fontSize: 18,
color: AppThemeData.grey900,
@@ -134,7 +134,7 @@ class ParcelOrderConfirmationScreen extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
_infoSection(
"Pickup Address (Sender):".tr(),
"Pickup Address (Sender):".tr,
controller
.parcelOrder
.value
@@ -160,7 +160,7 @@ class ParcelOrderConfirmationScreen extends StatelessWidget {
),
const SizedBox(height: 16),
_infoSection(
"Delivery Address (Receiver):".tr(),
"Delivery Address (Receiver):".tr,
controller
.parcelOrder
.value
@@ -211,15 +211,15 @@ class ParcelOrderConfirmationScreen extends StatelessWidget {
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
_iconTile(
"${controller.parcelOrder.value.distance ?? '--'} ${'KM'.tr()}",
"Distance".tr(),
"${controller.parcelOrder.value.distance ?? '--'} ${'KM'.tr}",
"Distance".tr,
"assets/icons/ic_distance_parcel.svg",
isDark,
),
_iconTile(
controller.parcelOrder.value.parcelWeight ??
'--',
"Weight".tr(),
"Weight".tr,
"assets/icons/ic_weight_parcel.svg",
isDark,
),
@@ -227,7 +227,7 @@ class ParcelOrderConfirmationScreen extends StatelessWidget {
Constant.amountShow(
amount: controller.parcelOrder.value.subTotal,
),
"Rate".tr(),
"Rate".tr,
"assets/icons/ic_rate_parcel.svg",
isDark,
),
@@ -241,7 +241,7 @@ class ParcelOrderConfirmationScreen extends StatelessWidget {
children: [
Expanded(
child: Text(
"Coupons".tr(),
"Coupons".tr,
style: AppThemeData.boldTextStyle(
fontSize: 16,
color:
@@ -270,14 +270,14 @@ class ParcelOrderConfirmationScreen extends StatelessWidget {
} else {
ShowToastDialog.showToast(
"This offer not eligible for this booking"
.tr(),
.tr,
);
}
}
});
},
child: Text(
"View All".tr(),
"View All".tr,
style: AppThemeData.boldTextStyle(
decoration: TextDecoration.underline,
fontSize: 14,
@@ -328,7 +328,7 @@ class ParcelOrderConfirmationScreen extends StatelessWidget {
fontSize: 16,
),
decoration: InputDecoration(
hintText: "Write coupon code".tr(),
hintText: "Write coupon code".tr,
hintStyle: AppThemeData.mediumTextStyle(
fontSize: 16,
color: AppThemeData.parcelService500,
@@ -338,7 +338,7 @@ class ParcelOrderConfirmationScreen extends StatelessWidget {
),
),
RoundedButtonFill(
title: "Redeem now".tr(),
title: "Redeem now".tr,
onPress: () {
if (controller.couponList
.where(
@@ -381,18 +381,18 @@ class ParcelOrderConfirmationScreen extends StatelessWidget {
} else {
ShowToastDialog.showToast(
"This offer not eligible for this booking"
.tr(),
.tr,
);
}
} else {
ShowToastDialog.showToast(
"This coupon code has been expired"
.tr(),
.tr,
);
}
} else {
ShowToastDialog.showToast(
"Invalid coupon code".tr(),
"Invalid coupon code".tr,
);
}
},
@@ -427,7 +427,7 @@ class ParcelOrderConfirmationScreen extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
"Order Summary".tr(),
"Order Summary".tr,
style: AppThemeData.boldTextStyle(
fontSize: 14,
color: AppThemeData.grey500,
@@ -437,7 +437,7 @@ class ParcelOrderConfirmationScreen extends StatelessWidget {
// Subtotal
_summaryTile(
"Subtotal".tr(),
"Subtotal".tr,
Constant.amountShow(
amount: controller.subTotal.value.toString(),
),
@@ -447,7 +447,7 @@ class ParcelOrderConfirmationScreen extends StatelessWidget {
// Discount
_summaryTile(
"Discount".tr(),
"Discount".tr,
"-${Constant.amountShow(amount: controller.discount.value.toString())}",
isDark,
AppThemeData.dangerDark300,
@@ -481,7 +481,7 @@ class ParcelOrderConfirmationScreen extends StatelessWidget {
// Total
_summaryTile(
"Order Total".tr(),
"Order Total".tr,
Constant.amountShow(
amount:
controller.totalAmount.value.toString(),
@@ -513,7 +513,7 @@ class ParcelOrderConfirmationScreen extends StatelessWidget {
children: [
// Title
Text(
"Payment by".tr(),
"Payment by".tr,
style: AppThemeData.boldTextStyle(
fontSize: 14,
color:
@@ -550,7 +550,7 @@ class ParcelOrderConfirmationScreen extends StatelessWidget {
),
const SizedBox(width: 6),
Text(
"Sender".tr(),
"Sender".tr,
style: AppThemeData.semiBoldTextStyle(
fontSize: 16,
color:
@@ -589,7 +589,7 @@ class ParcelOrderConfirmationScreen extends StatelessWidget {
),
const SizedBox(width: 6),
Text(
"Receiver".tr(),
"Receiver".tr,
style: AppThemeData.semiBoldTextStyle(
fontSize: 16,
color:
@@ -613,8 +613,8 @@ class ParcelOrderConfirmationScreen extends StatelessWidget {
RoundedButtonFill(
title:
controller.paymentBy.value == "Sender"
? "Select Payment Method".tr()
: "Continue".tr(),
? "Select Payment Method".tr
: "Continue".tr,
onPress: () async {
if (controller.paymentBy.value == "Sender") {
Get.bottomSheet(
@@ -768,7 +768,7 @@ class ParcelOrderConfirmationScreen extends StatelessWidget {
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
"Select Payment Method".tr(),
"Select Payment Method".tr,
style: AppThemeData.mediumTextStyle(
fontSize: 18,
color:
@@ -791,7 +791,7 @@ class ParcelOrderConfirmationScreen extends StatelessWidget {
controller: scrollController,
children: [
Text(
"Preferred Payment".tr(),
"Preferred Payment".tr,
textAlign: TextAlign.start,
style: AppThemeData.boldTextStyle(
fontSize: 15,
@@ -860,7 +860,7 @@ class ParcelOrderConfirmationScreen extends StatelessWidget {
true)
const SizedBox(height: 10),
Text(
"Other Payment Options".tr(),
"Other Payment Options".tr,
textAlign: TextAlign.start,
style: AppThemeData.boldTextStyle(
fontSize: 15,
@@ -1006,7 +1006,7 @@ class ParcelOrderConfirmationScreen extends StatelessWidget {
),
),
RoundedButtonFill(
title: "Continue".tr(),
title: "Continue".tr,
color: AppThemeData.taxiBooking300,
textColor: AppThemeData.grey900,
onPress: () async {
@@ -1061,7 +1061,7 @@ class ParcelOrderConfirmationScreen extends StatelessWidget {
0.0;
if (walletBalance < amountToPay) {
ShowToastDialog.showToast(
"Insufficient wallet balance".tr(),
"Insufficient wallet balance".tr,
);
return;
}
@@ -1101,8 +1101,7 @@ class ParcelOrderConfirmationScreen extends StatelessWidget {
if (value == null) {
Get.back();
ShowToastDialog.showToast(
"Something went wrong, please contact admin."
.tr(),
"Something went wrong, please contact admin.".tr,
);
} else {
CreateRazorPayOrderModel result = value;
@@ -1114,7 +1113,7 @@ class ParcelOrderConfirmationScreen extends StatelessWidget {
});
} else {
ShowToastDialog.showToast(
"Please select payment method".tr(),
"Please select payment method".tr,
);
}
},

View File

@@ -1,9 +1,9 @@
import 'package:customer/screen_ui/parcel_service/parcel_review_screen.dart';
import 'package:dotted_border/dotted_border.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
import 'package:get/get.dart' hide Trans;
import 'package:get/get.dart';
import '../../constant/constant.dart';
import '../../controllers/parcel_order_details_controller.dart';
import '../../controllers/theme_controller.dart';
@@ -62,7 +62,7 @@ class ParcelOrderDetails extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
"Order Details".tr(),
"Order Details".tr,
style: AppThemeData.boldTextStyle(
fontSize: 18,
color: AppThemeData.grey900,
@@ -70,7 +70,7 @@ class ParcelOrderDetails extends StatelessWidget {
),
Text(
"Your parcel is on the way. Track it in real time below."
.tr(),
.tr,
maxLines: 1,
overflow: TextOverflow.ellipsis,
style: AppThemeData.mediumTextStyle(
@@ -110,8 +110,8 @@ class ParcelOrderDetails extends StatelessWidget {
width: double.infinity,
padding: const EdgeInsets.all(16),
child: Text(
"${'Order Id:'.tr()} ${Constant.orderId(orderId: controller.parcelOrder.value.id.toString())}"
.tr(),
"${'Order Id:'.tr} ${Constant.orderId(orderId: controller.parcelOrder.value.id.toString())}"
.tr,
textAlign: TextAlign.start,
style: TextStyle(
fontFamily: AppThemeData.semiBold,
@@ -187,7 +187,7 @@ class ParcelOrderDetails extends StatelessWidget {
CrossAxisAlignment.start,
children: [
_infoSection(
"Pickup Address (Sender):".tr(),
"Pickup Address (Sender):".tr,
controller
.parcelOrder
.value
@@ -213,7 +213,7 @@ class ParcelOrderDetails extends StatelessWidget {
),
const SizedBox(height: 16),
_infoSection(
"Delivery Address (Receiver):".tr(),
"Delivery Address (Receiver):".tr,
controller
.parcelOrder
.value
@@ -250,7 +250,7 @@ class ParcelOrderDetails extends StatelessWidget {
Padding(
padding: const EdgeInsets.only(bottom: 8.0),
child: Text(
"${'Schedule Pickup time:'.tr()} ${controller.formatDate(controller.parcelOrder.value.senderPickupDateTime!)}",
"${'Schedule Pickup time:'.tr} ${controller.formatDate(controller.parcelOrder.value.senderPickupDateTime!)}",
style: AppThemeData.mediumTextStyle(
fontSize: 14,
color: AppThemeData.info400,
@@ -261,7 +261,7 @@ class ParcelOrderDetails extends StatelessWidget {
Padding(
padding: const EdgeInsets.only(bottom: 8.0),
child: Text(
"${'Order Date:'.tr()}${controller.parcelOrder.value.isSchedule == true ? controller.formatDate(controller.parcelOrder.value.createdAt!) : controller.formatDate(controller.parcelOrder.value.senderPickupDateTime!)}",
"${'Order Date:'.tr}${controller.parcelOrder.value.isSchedule == true ? controller.formatDate(controller.parcelOrder.value.createdAt!) : controller.formatDate(controller.parcelOrder.value.senderPickupDateTime!)}",
style: AppThemeData.mediumTextStyle(
fontSize: 14,
color: AppThemeData.info400,
@@ -274,7 +274,7 @@ class ParcelOrderDetails extends StatelessWidget {
MainAxisAlignment.spaceBetween,
children: [
Text(
"Parcel Type:".tr(),
"Parcel Type:".tr,
style: AppThemeData.semiBoldTextStyle(
fontSize: 16,
color:
@@ -381,14 +381,14 @@ class ParcelOrderDetails extends StatelessWidget {
children: [
_iconTile(
"${controller.parcelOrder.value.distance ?? '--'} ${Constant.distanceType}",
"Distance".tr(),
"Distance".tr,
"assets/icons/ic_distance_parcel.svg",
isDark,
),
_iconTile(
controller.parcelOrder.value.parcelWeight ??
'--',
"Weight".tr(),
"Weight".tr,
"assets/icons/ic_weight_parcel.svg",
isDark,
),
@@ -396,7 +396,7 @@ class ParcelOrderDetails extends StatelessWidget {
Constant.amountShow(
amount: controller.parcelOrder.value.subTotal,
),
"Rate".tr(),
"Rate".tr,
"assets/icons/ic_rate_parcel.svg",
isDark,
),
@@ -426,7 +426,7 @@ class ParcelOrderDetails extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
"About Driver".tr(),
"About Driver".tr,
style: AppThemeData.boldTextStyle(
fontSize: 14,
color:
@@ -524,8 +524,8 @@ class ParcelOrderDetails extends StatelessWidget {
.value
.id!
.isNotEmpty
? 'Update Review'.tr()
: 'Add Review'.tr(),
? 'Update Review'.tr
: 'Add Review'.tr,
onPress: () async {
final result = await Get.to(
() => ParcelReviewScreen(),
@@ -604,7 +604,7 @@ class ParcelOrderDetails extends StatelessWidget {
InkWell(
onTap: () async {
ShowToastDialog.showLoader(
"Please wait...".tr(),
"Please wait...".tr,
);
UserModel? customer =
@@ -709,7 +709,7 @@ class ParcelOrderDetails extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
"Order Summary".tr(),
"Order Summary".tr,
style: AppThemeData.boldTextStyle(
fontSize: 14,
color: AppThemeData.grey500,
@@ -719,7 +719,7 @@ class ParcelOrderDetails extends StatelessWidget {
// Subtotal
_summaryTile(
"Subtotal".tr(),
"Subtotal".tr,
Constant.amountShow(
amount: controller.subTotal.value.toString(),
),
@@ -728,7 +728,7 @@ class ParcelOrderDetails extends StatelessWidget {
// Discount
_summaryTile(
"Discount".tr(),
"Discount".tr,
Constant.amountShow(
amount: controller.discount.value.toString(),
),
@@ -778,7 +778,7 @@ class ParcelOrderDetails extends StatelessWidget {
// Total
_summaryTile(
"Order Total".tr(),
"Order Total".tr,
Constant.amountShow(
amount:
controller.totalAmount.value.toString(),
@@ -796,7 +796,7 @@ class ParcelOrderDetails extends StatelessWidget {
? Padding(
padding: const EdgeInsets.all(16.0),
child: RoundedButtonFill(
title: "Cancel Parcel".tr(),
title: "Cancel Parcel".tr,
onPress: () {
controller.cancelParcelOrder();
},
@@ -838,7 +838,7 @@ class ParcelOrderDetails extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
"Parcel Status Timeline".tr(),
"Parcel Status Timeline".tr,
style: AppThemeData.semiBoldTextStyle(
color:
isDark
@@ -859,7 +859,7 @@ class ParcelOrderDetails extends StatelessWidget {
height: 80,
child: Center(
child: Text(
"No status updates yet".tr(),
"No status updates yet".tr,
style: AppThemeData.mediumTextStyle(
color:
isDark
@@ -1011,7 +1011,7 @@ class ParcelOrderDetails extends StatelessWidget {
Text(
value,
style: AppThemeData.semiBoldTextStyle(
fontSize: title == "Order Total".tr() ? 18 : 16,
fontSize: title == "Order Total".tr ? 18 : 16,
color: isDark ? AppThemeData.greyDark900 : AppThemeData.grey900,
),
),

View File

@@ -1,8 +1,8 @@
import 'package:customer/controllers/parcel_review_controller.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:flutter_rating_bar/flutter_rating_bar.dart';
import 'package:get/get.dart' hide Trans;
import 'package:get/get.dart';
import '../../constant/constant.dart';
import '../../controllers/theme_controller.dart';
import '../../themes/app_them_data.dart';
@@ -36,8 +36,8 @@ class ParcelReviewScreen extends StatelessWidget {
title: Text(
controller.ratingModel.value != null &&
controller.ratingModel.value!.id!.isNotEmpty
? "Update Review".tr()
: "Add Review".tr(),
? "Update Review".tr
: "Add Review".tr,
style: TextStyle(
color: isDark ? Colors.white : Colors.black,
fontSize: 16,
@@ -104,7 +104,7 @@ class ParcelReviewScreen extends StatelessWidget {
Padding(
padding: const EdgeInsets.only(top: 16),
child: Text(
'How is your trip?'.tr(),
'How is your trip?'.tr,
style: TextStyle(
fontSize: 18,
color:
@@ -120,7 +120,7 @@ class ParcelReviewScreen extends StatelessWidget {
padding: const EdgeInsets.only(top: 8),
child: Text(
'Your feedback will help us improve \n driving experience better'
.tr(),
.tr,
textAlign: TextAlign.center,
style: TextStyle(
color:
@@ -138,7 +138,7 @@ class ParcelReviewScreen extends StatelessWidget {
Padding(
padding: const EdgeInsets.only(top: 20),
child: Text(
'Rate for'.tr(),
'Rate for'.tr,
style: TextStyle(
fontSize: 16,
color:
@@ -197,7 +197,7 @@ class ParcelReviewScreen extends StatelessWidget {
Padding(
padding: const EdgeInsets.all(20.0),
child: TextFieldWidget(
hintText: "Type comment....".tr(),
hintText: "Type comment....".tr,
controller: controller.comment.value,
maxLine: 5,
),
@@ -210,8 +210,8 @@ class ParcelReviewScreen extends StatelessWidget {
title:
controller.ratingModel.value !=
null
? "Update Review".tr()
: "Add Review".tr(),
? "Update Review".tr
: "Add Review".tr,
color: AppThemeData.primary300,
textColor:
isDark