BASE: Update Icons & Name Of The App.
This commit is contained in:
@@ -8,7 +8,7 @@ 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';
|
||||
import 'package:get/get.dart' hide Trans;
|
||||
import '../../constant/constant.dart';
|
||||
import '../../controllers/book_parcel_controller.dart';
|
||||
import '../../controllers/theme_controller.dart';
|
||||
@@ -43,8 +43,20 @@ class BookParcelScreen extends StatelessWidget {
|
||||
child: Container(
|
||||
height: 42,
|
||||
width: 42,
|
||||
decoration: BoxDecoration(shape: BoxShape.circle, color: AppThemeData.grey50),
|
||||
child: Center(child: Padding(padding: const EdgeInsets.only(left: 5), child: Icon(Icons.arrow_back_ios, color: AppThemeData.grey900, size: 20))),
|
||||
decoration: BoxDecoration(
|
||||
shape: BoxShape.circle,
|
||||
color: AppThemeData.grey50,
|
||||
),
|
||||
child: Center(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.only(left: 5),
|
||||
child: Icon(
|
||||
Icons.arrow_back_ios,
|
||||
color: AppThemeData.grey900,
|
||||
size: 20,
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
const SizedBox(width: 10),
|
||||
@@ -52,12 +64,21 @@ class BookParcelScreen extends StatelessWidget {
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text("Book Your Document Delivery".tr(), style: AppThemeData.boldTextStyle(fontSize: 18, color: AppThemeData.grey900)),
|
||||
Text(
|
||||
"Book Your Document Delivery".tr(),
|
||||
style: AppThemeData.boldTextStyle(
|
||||
fontSize: 18,
|
||||
color: AppThemeData.grey900,
|
||||
),
|
||||
),
|
||||
Text(
|
||||
"Schedule a secure and timely pickup & delivery".tr(),
|
||||
maxLines: 1,
|
||||
overflow: TextOverflow.ellipsis,
|
||||
style: AppThemeData.mediumTextStyle(fontSize: 12, color: AppThemeData.grey900),
|
||||
style: AppThemeData.mediumTextStyle(
|
||||
fontSize: 12,
|
||||
color: AppThemeData.grey900,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
@@ -84,7 +105,8 @@ class BookParcelScreen extends StatelessWidget {
|
||||
nameController: controller.senderNameController.value,
|
||||
mobileController: controller.senderMobileController.value,
|
||||
noteController: controller.senderNoteController.value,
|
||||
countryCodeController: controller.senderCountryCodeController.value,
|
||||
countryCodeController:
|
||||
controller.senderCountryCodeController.value,
|
||||
showWeight: true,
|
||||
isDark: isDark,
|
||||
context: context,
|
||||
@@ -95,14 +117,25 @@ class BookParcelScreen extends StatelessWidget {
|
||||
if (result != null) {
|
||||
final firstPlace = result;
|
||||
|
||||
if (Constant.checkZoneCheck(firstPlace.coordinates.latitude, firstPlace.coordinates.longitude) == true) {
|
||||
if (Constant.checkZoneCheck(
|
||||
firstPlace.coordinates.latitude,
|
||||
firstPlace.coordinates.longitude,
|
||||
) ==
|
||||
true) {
|
||||
final address = firstPlace.address;
|
||||
final lat = firstPlace.coordinates.latitude;
|
||||
final lng = firstPlace.coordinates.longitude;
|
||||
controller.senderLocationController.value.text = address; // ✅
|
||||
controller.senderLocation.value = UserLocation(latitude: lat, longitude: lng); // ✅ <-- Add this
|
||||
controller.senderLocationController.value.text =
|
||||
address; // ✅
|
||||
controller.senderLocation.value = UserLocation(
|
||||
latitude: lat,
|
||||
longitude: lng,
|
||||
); // ✅ <-- Add this
|
||||
} else {
|
||||
ShowToastDialog.showToast("Service is unavailable at the selected address.".tr());
|
||||
ShowToastDialog.showToast(
|
||||
"Service is unavailable at the selected address."
|
||||
.tr(),
|
||||
);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@@ -110,11 +143,27 @@ class BookParcelScreen extends StatelessWidget {
|
||||
if (value != null) {
|
||||
SelectedLocationModel selectedLocationModel = value;
|
||||
|
||||
if (Constant.checkZoneCheck(selectedLocationModel.latLng!.latitude, selectedLocationModel.latLng!.longitude) == true) {
|
||||
controller.senderLocationController.value.text = Utils.formatAddress(selectedLocation: selectedLocationModel);
|
||||
controller.senderLocation.value = UserLocation(latitude: selectedLocationModel.latLng!.latitude, longitude: selectedLocationModel.latLng!.longitude);
|
||||
if (Constant.checkZoneCheck(
|
||||
selectedLocationModel.latLng!.latitude,
|
||||
selectedLocationModel.latLng!.longitude,
|
||||
) ==
|
||||
true) {
|
||||
controller
|
||||
.senderLocationController
|
||||
.value
|
||||
.text = Utils.formatAddress(
|
||||
selectedLocation: selectedLocationModel,
|
||||
);
|
||||
controller.senderLocation.value = UserLocation(
|
||||
latitude: selectedLocationModel.latLng!.latitude,
|
||||
longitude:
|
||||
selectedLocationModel.latLng!.longitude,
|
||||
);
|
||||
} else {
|
||||
ShowToastDialog.showToast("Service is unavailable at the selected address.".tr());
|
||||
ShowToastDialog.showToast(
|
||||
"Service is unavailable at the selected address."
|
||||
.tr(),
|
||||
);
|
||||
}
|
||||
// ✅ <-- Add this
|
||||
}
|
||||
@@ -125,11 +174,13 @@ class BookParcelScreen extends StatelessWidget {
|
||||
const SizedBox(height: 16),
|
||||
buildInfoSectionView(
|
||||
title: "Receiver Information".tr(),
|
||||
locationController: controller.receiverLocationController.value,
|
||||
locationController:
|
||||
controller.receiverLocationController.value,
|
||||
nameController: controller.receiverNameController.value,
|
||||
mobileController: controller.receiverMobileController.value,
|
||||
noteController: controller.receiverNoteController.value,
|
||||
countryCodeController: controller.receiverCountryCodeController.value,
|
||||
countryCodeController:
|
||||
controller.receiverCountryCodeController.value,
|
||||
showWeight: false,
|
||||
isDark: isDark,
|
||||
context: context,
|
||||
@@ -140,15 +191,26 @@ class BookParcelScreen extends StatelessWidget {
|
||||
if (result != null) {
|
||||
final firstPlace = result;
|
||||
|
||||
if (Constant.checkZoneCheck(firstPlace.coordinates.latitude, firstPlace.coordinates.longitude) == true) {
|
||||
if (Constant.checkZoneCheck(
|
||||
firstPlace.coordinates.latitude,
|
||||
firstPlace.coordinates.longitude,
|
||||
) ==
|
||||
true) {
|
||||
final lat = firstPlace.coordinates.latitude;
|
||||
final lng = firstPlace.coordinates.longitude;
|
||||
final address = firstPlace.address;
|
||||
|
||||
controller.receiverLocationController.value.text = address; // ✅
|
||||
controller.receiverLocation.value = UserLocation(latitude: lat, longitude: lng);
|
||||
controller.receiverLocationController.value.text =
|
||||
address; // ✅
|
||||
controller.receiverLocation.value = UserLocation(
|
||||
latitude: lat,
|
||||
longitude: lng,
|
||||
);
|
||||
} else {
|
||||
ShowToastDialog.showToast("Service is unavailable at the selected address.".tr());
|
||||
ShowToastDialog.showToast(
|
||||
"Service is unavailable at the selected address."
|
||||
.tr(),
|
||||
);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@@ -156,11 +218,27 @@ class BookParcelScreen extends StatelessWidget {
|
||||
if (value != null) {
|
||||
SelectedLocationModel selectedLocationModel = value;
|
||||
|
||||
if (Constant.checkZoneCheck(selectedLocationModel.latLng!.latitude, selectedLocationModel.latLng!.longitude) == true) {
|
||||
controller.receiverLocationController.value.text = Utils.formatAddress(selectedLocation: selectedLocationModel);
|
||||
controller.receiverLocation.value = UserLocation(latitude: selectedLocationModel.latLng!.latitude, longitude: selectedLocationModel.latLng!.longitude); // ✅ <-- Add this
|
||||
if (Constant.checkZoneCheck(
|
||||
selectedLocationModel.latLng!.latitude,
|
||||
selectedLocationModel.latLng!.longitude,
|
||||
) ==
|
||||
true) {
|
||||
controller
|
||||
.receiverLocationController
|
||||
.value
|
||||
.text = Utils.formatAddress(
|
||||
selectedLocation: selectedLocationModel,
|
||||
);
|
||||
controller.receiverLocation.value = UserLocation(
|
||||
latitude: selectedLocationModel.latLng!.latitude,
|
||||
longitude:
|
||||
selectedLocationModel.latLng!.longitude,
|
||||
); // ✅ <-- Add this
|
||||
} else {
|
||||
ShowToastDialog.showToast("Service is unavailable at the selected address.".tr());
|
||||
ShowToastDialog.showToast(
|
||||
"Service is unavailable at the selected address."
|
||||
.tr(),
|
||||
);
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -187,18 +265,30 @@ class BookParcelScreen extends StatelessWidget {
|
||||
);
|
||||
}
|
||||
|
||||
Widget selectDeliveryTypeView(BookParcelController controller, bool isDark, BuildContext context) {
|
||||
Widget selectDeliveryTypeView(
|
||||
BookParcelController controller,
|
||||
bool isDark,
|
||||
BuildContext context,
|
||||
) {
|
||||
return Container(
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.circular(15),
|
||||
color: isDark ? AppThemeData.greyDark50 : AppThemeData.grey50,
|
||||
border: Border.all(color: isDark ? AppThemeData.greyDark200 : AppThemeData.grey200),
|
||||
border: Border.all(
|
||||
color: isDark ? AppThemeData.greyDark200 : AppThemeData.grey200,
|
||||
),
|
||||
),
|
||||
padding: const EdgeInsets.symmetric(horizontal: 10, vertical: 15),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text("Select delivery type".tr(), style: AppThemeData.boldTextStyle(color: isDark ? AppThemeData.greyDark500 : AppThemeData.grey500, fontSize: 13)),
|
||||
Text(
|
||||
"Select delivery type".tr(),
|
||||
style: AppThemeData.boldTextStyle(
|
||||
color: isDark ? AppThemeData.greyDark500 : AppThemeData.grey500,
|
||||
fontSize: 13,
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 10),
|
||||
InkWell(
|
||||
onTap: () {
|
||||
@@ -207,12 +297,34 @@ class BookParcelScreen extends StatelessWidget {
|
||||
},
|
||||
child: Row(
|
||||
children: [
|
||||
Image.asset("assets/images/image_parcel.png", height: 38, width: 38),
|
||||
Image.asset(
|
||||
"assets/images/image_parcel.png",
|
||||
height: 38,
|
||||
width: 38,
|
||||
),
|
||||
const SizedBox(width: 20),
|
||||
Expanded(child: Text("As soon as possible".tr(), style: AppThemeData.semiBoldTextStyle(color: isDark ? AppThemeData.greyDark900 : AppThemeData.grey900, fontSize: 16))),
|
||||
Expanded(
|
||||
child: Text(
|
||||
"As soon as possible".tr(),
|
||||
style: AppThemeData.semiBoldTextStyle(
|
||||
color:
|
||||
isDark
|
||||
? AppThemeData.greyDark900
|
||||
: AppThemeData.grey900,
|
||||
fontSize: 16,
|
||||
),
|
||||
),
|
||||
),
|
||||
Icon(
|
||||
controller.selectedDeliveryType.value == 'now' ? Icons.radio_button_checked : Icons.radio_button_off,
|
||||
color: controller.selectedDeliveryType.value == 'now' ? AppThemeData.primary300 : (isDark ? AppThemeData.greyDark500 : AppThemeData.grey500),
|
||||
controller.selectedDeliveryType.value == 'now'
|
||||
? Icons.radio_button_checked
|
||||
: Icons.radio_button_off,
|
||||
color:
|
||||
controller.selectedDeliveryType.value == 'now'
|
||||
? AppThemeData.primary300
|
||||
: (isDark
|
||||
? AppThemeData.greyDark500
|
||||
: AppThemeData.grey500),
|
||||
size: 20,
|
||||
),
|
||||
],
|
||||
@@ -228,12 +340,34 @@ class BookParcelScreen extends StatelessWidget {
|
||||
children: [
|
||||
Row(
|
||||
children: [
|
||||
Image.asset("assets/images/image_parcel_scheduled.png", height: 38, width: 38),
|
||||
Image.asset(
|
||||
"assets/images/image_parcel_scheduled.png",
|
||||
height: 38,
|
||||
width: 38,
|
||||
),
|
||||
const SizedBox(width: 20),
|
||||
Expanded(child: Text("Scheduled".tr(), style: AppThemeData.semiBoldTextStyle(color: isDark ? AppThemeData.greyDark900 : AppThemeData.grey900, fontSize: 16))),
|
||||
Expanded(
|
||||
child: Text(
|
||||
"Scheduled".tr(),
|
||||
style: AppThemeData.semiBoldTextStyle(
|
||||
color:
|
||||
isDark
|
||||
? AppThemeData.greyDark900
|
||||
: AppThemeData.grey900,
|
||||
fontSize: 16,
|
||||
),
|
||||
),
|
||||
),
|
||||
Icon(
|
||||
controller.selectedDeliveryType.value == 'later' ? Icons.radio_button_checked : Icons.radio_button_off,
|
||||
color: controller.selectedDeliveryType.value == 'later' ? AppThemeData.primary300 : (isDark ? AppThemeData.greyDark500 : AppThemeData.grey500),
|
||||
controller.selectedDeliveryType.value == 'later'
|
||||
? Icons.radio_button_checked
|
||||
: Icons.radio_button_off,
|
||||
color:
|
||||
controller.selectedDeliveryType.value == 'later'
|
||||
? AppThemeData.primary300
|
||||
: (isDark
|
||||
? AppThemeData.greyDark500
|
||||
: AppThemeData.grey500),
|
||||
size: 20,
|
||||
),
|
||||
],
|
||||
@@ -246,9 +380,18 @@ class BookParcelScreen extends StatelessWidget {
|
||||
hintText: "When to pickup at this address".tr(),
|
||||
controller: controller.scheduledDateController.value,
|
||||
enable: false,
|
||||
backgroundColor: isDark ? AppThemeData.surfaceDark : AppThemeData.surface,
|
||||
borderColor: isDark ? AppThemeData.greyDark200 : AppThemeData.grey200,
|
||||
suffix: const Padding(padding: EdgeInsets.only(right: 10), child: Icon(Icons.calendar_month_outlined)),
|
||||
backgroundColor:
|
||||
isDark
|
||||
? AppThemeData.surfaceDark
|
||||
: AppThemeData.surface,
|
||||
borderColor:
|
||||
isDark
|
||||
? AppThemeData.greyDark200
|
||||
: AppThemeData.grey200,
|
||||
suffix: const Padding(
|
||||
padding: EdgeInsets.only(right: 10),
|
||||
child: Icon(Icons.calendar_month_outlined),
|
||||
),
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 10),
|
||||
@@ -259,9 +402,18 @@ class BookParcelScreen extends StatelessWidget {
|
||||
controller: controller.scheduledTimeController.value,
|
||||
enable: false,
|
||||
// onchange: (v) => controller.pickScheduledTime(context),
|
||||
backgroundColor: isDark ? AppThemeData.surfaceDark : AppThemeData.surface,
|
||||
borderColor: isDark ? AppThemeData.greyDark200 : AppThemeData.grey200,
|
||||
suffix: const Padding(padding: EdgeInsets.only(right: 10), child: Icon(Icons.access_time)),
|
||||
backgroundColor:
|
||||
isDark
|
||||
? AppThemeData.surfaceDark
|
||||
: AppThemeData.surface,
|
||||
borderColor:
|
||||
isDark
|
||||
? AppThemeData.greyDark200
|
||||
: AppThemeData.grey200,
|
||||
suffix: const Padding(
|
||||
padding: EdgeInsets.only(right: 10),
|
||||
child: Icon(Icons.access_time),
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
@@ -278,29 +430,75 @@ class BookParcelScreen extends StatelessWidget {
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.circular(15),
|
||||
color: isDark ? AppThemeData.greyDark50 : AppThemeData.grey50,
|
||||
border: Border.all(color: isDark ? AppThemeData.greyDark200 : AppThemeData.grey200),
|
||||
border: Border.all(
|
||||
color: isDark ? AppThemeData.greyDark200 : AppThemeData.grey200,
|
||||
),
|
||||
),
|
||||
padding: const EdgeInsets.symmetric(horizontal: 10, vertical: 15),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text("Upload parcel image".tr(), style: AppThemeData.boldTextStyle(color: isDark ? AppThemeData.greyDark500 : AppThemeData.grey500, fontSize: 13)),
|
||||
Text(
|
||||
"Upload parcel image".tr(),
|
||||
style: AppThemeData.boldTextStyle(
|
||||
color: isDark ? AppThemeData.greyDark500 : AppThemeData.grey500,
|
||||
fontSize: 13,
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 10),
|
||||
DottedBorder(
|
||||
options: RoundedRectDottedBorderOptions(strokeWidth: 1, radius: const Radius.circular(10), color: isDark ? AppThemeData.greyDark300 : AppThemeData.grey300),
|
||||
options: RoundedRectDottedBorderOptions(
|
||||
strokeWidth: 1,
|
||||
radius: const Radius.circular(10),
|
||||
color: isDark ? AppThemeData.greyDark300 : AppThemeData.grey300,
|
||||
),
|
||||
child: Container(
|
||||
alignment: Alignment.center,
|
||||
decoration: BoxDecoration(borderRadius: BorderRadius.circular(10), color: isDark ? AppThemeData.greyDark50 : AppThemeData.grey50),
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.circular(10),
|
||||
color: isDark ? AppThemeData.greyDark50 : AppThemeData.grey50,
|
||||
),
|
||||
padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 50),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [
|
||||
SvgPicture.asset("assets/icons/ic_upload_parcel.svg", height: 40, width: 40),
|
||||
SvgPicture.asset(
|
||||
"assets/icons/ic_upload_parcel.svg",
|
||||
height: 40,
|
||||
width: 40,
|
||||
),
|
||||
const SizedBox(height: 10),
|
||||
Text("Upload Parcel Image".tr(), style: AppThemeData.mediumTextStyle(fontSize: 16, color: isDark ? AppThemeData.greyDark900 : AppThemeData.grey900)),
|
||||
Text(
|
||||
"Upload Parcel Image".tr(),
|
||||
style: AppThemeData.mediumTextStyle(
|
||||
fontSize: 16,
|
||||
color:
|
||||
isDark
|
||||
? AppThemeData.greyDark900
|
||||
: AppThemeData.grey900,
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 4),
|
||||
Text("Supported: .jpg, .jpeg, .png".tr(), style: AppThemeData.semiBoldTextStyle(fontSize: 12, color: isDark ? AppThemeData.greyDark800 : AppThemeData.grey800)),
|
||||
Text("Max size 1MB".tr(), style: AppThemeData.semiBoldTextStyle(fontSize: 12, color: isDark ? AppThemeData.greyDark800 : AppThemeData.grey800)),
|
||||
Text(
|
||||
"Supported: .jpg, .jpeg, .png".tr(),
|
||||
style: AppThemeData.semiBoldTextStyle(
|
||||
fontSize: 12,
|
||||
color:
|
||||
isDark
|
||||
? AppThemeData.greyDark800
|
||||
: AppThemeData.grey800,
|
||||
),
|
||||
),
|
||||
Text(
|
||||
"Max size 1MB".tr(),
|
||||
style: AppThemeData.semiBoldTextStyle(
|
||||
fontSize: 12,
|
||||
color:
|
||||
isDark
|
||||
? AppThemeData.greyDark800
|
||||
: AppThemeData.grey800,
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 8),
|
||||
RoundedButtonFill(
|
||||
title: "Browse Image".tr(),
|
||||
@@ -326,7 +524,15 @@ class BookParcelScreen extends StatelessWidget {
|
||||
children: [
|
||||
Container(
|
||||
padding: const EdgeInsets.only(top: 20, right: 20),
|
||||
child: ClipRRect(borderRadius: BorderRadius.circular(8), child: Image.file(File(image.path), width: 70, height: 70, fit: BoxFit.cover)),
|
||||
child: ClipRRect(
|
||||
borderRadius: BorderRadius.circular(8),
|
||||
child: Image.file(
|
||||
File(image.path),
|
||||
width: 70,
|
||||
height: 70,
|
||||
fit: BoxFit.cover,
|
||||
),
|
||||
),
|
||||
),
|
||||
Positioned.fill(
|
||||
top: 0,
|
||||
@@ -334,7 +540,11 @@ class BookParcelScreen extends StatelessWidget {
|
||||
child: Align(
|
||||
alignment: Alignment.topRight,
|
||||
child: IconButton(
|
||||
icon: const Icon(Icons.cancel, color: AppThemeData.danger300, size: 20),
|
||||
icon: const Icon(
|
||||
Icons.cancel,
|
||||
color: AppThemeData.danger300,
|
||||
size: 20,
|
||||
),
|
||||
onPressed: () {
|
||||
controller.images.remove(image);
|
||||
},
|
||||
@@ -367,13 +577,21 @@ class BookParcelScreen extends StatelessWidget {
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.circular(15),
|
||||
color: isDark ? AppThemeData.greyDark50 : AppThemeData.grey50,
|
||||
border: Border.all(color: isDark ? AppThemeData.greyDark200 : AppThemeData.grey200),
|
||||
border: Border.all(
|
||||
color: isDark ? AppThemeData.greyDark200 : AppThemeData.grey200,
|
||||
),
|
||||
),
|
||||
padding: const EdgeInsets.symmetric(horizontal: 10, vertical: 15),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(title, style: AppThemeData.boldTextStyle(color: isDark ? AppThemeData.greyDark500 : AppThemeData.grey500, fontSize: 13)),
|
||||
Text(
|
||||
title,
|
||||
style: AppThemeData.boldTextStyle(
|
||||
color: isDark ? AppThemeData.greyDark500 : AppThemeData.grey500,
|
||||
fontSize: 13,
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 10),
|
||||
|
||||
GestureDetector(
|
||||
@@ -382,9 +600,14 @@ class BookParcelScreen extends StatelessWidget {
|
||||
hintText: "Your Location".tr(),
|
||||
controller: locationController,
|
||||
|
||||
suffix: const Padding(padding: EdgeInsets.only(right: 10), child: Icon(Icons.location_on_outlined)),
|
||||
backgroundColor: isDark ? AppThemeData.surfaceDark : AppThemeData.surface,
|
||||
borderColor: isDark ? AppThemeData.greyDark200 : AppThemeData.grey200,
|
||||
suffix: const Padding(
|
||||
padding: EdgeInsets.only(right: 10),
|
||||
child: Icon(Icons.location_on_outlined),
|
||||
),
|
||||
backgroundColor:
|
||||
isDark ? AppThemeData.surfaceDark : AppThemeData.surface,
|
||||
borderColor:
|
||||
isDark ? AppThemeData.greyDark200 : AppThemeData.grey200,
|
||||
enable: false,
|
||||
),
|
||||
),
|
||||
@@ -393,8 +616,10 @@ class BookParcelScreen extends StatelessWidget {
|
||||
TextFieldWidget(
|
||||
hintText: "Name".tr(),
|
||||
controller: nameController,
|
||||
backgroundColor: isDark ? AppThemeData.surfaceDark : AppThemeData.surface,
|
||||
borderColor: isDark ? AppThemeData.greyDark200 : AppThemeData.grey200,
|
||||
backgroundColor:
|
||||
isDark ? AppThemeData.surfaceDark : AppThemeData.surface,
|
||||
borderColor:
|
||||
isDark ? AppThemeData.greyDark200 : AppThemeData.grey200,
|
||||
),
|
||||
const SizedBox(height: 10),
|
||||
|
||||
@@ -402,24 +627,49 @@ class BookParcelScreen extends StatelessWidget {
|
||||
hintText: "Enter Mobile number".tr(),
|
||||
controller: mobileController,
|
||||
textInputType: TextInputType.number,
|
||||
inputFormatters: [FilteringTextInputFormatter.allow(RegExp('[0-9]')), LengthLimitingTextInputFormatter(10)],
|
||||
backgroundColor: isDark ? AppThemeData.surfaceDark : AppThemeData.surface,
|
||||
borderColor: isDark ? AppThemeData.greyDark200 : AppThemeData.grey200,
|
||||
inputFormatters: [
|
||||
FilteringTextInputFormatter.allow(RegExp('[0-9]')),
|
||||
LengthLimitingTextInputFormatter(10),
|
||||
],
|
||||
backgroundColor:
|
||||
isDark ? AppThemeData.surfaceDark : AppThemeData.surface,
|
||||
borderColor:
|
||||
isDark ? AppThemeData.greyDark200 : AppThemeData.grey200,
|
||||
prefix: Row(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
CountryCodePicker(
|
||||
onChanged: (value) {
|
||||
countryCodeController.text = value.dialCode ?? Constant.defaultCountryCode;
|
||||
countryCodeController.text =
|
||||
value.dialCode ?? Constant.defaultCountryCode;
|
||||
},
|
||||
initialSelection: countryCodeController.text.isNotEmpty ? countryCodeController.text : Constant.defaultCountryCode,
|
||||
initialSelection:
|
||||
countryCodeController.text.isNotEmpty
|
||||
? countryCodeController.text
|
||||
: Constant.defaultCountryCode,
|
||||
showCountryOnly: false,
|
||||
showOnlyCountryWhenClosed: false,
|
||||
alignLeft: false,
|
||||
textStyle: TextStyle(fontSize: 16, color: isDark ? AppThemeData.greyDark900 : Colors.black),
|
||||
dialogTextStyle: TextStyle(fontSize: 16, color: isDark ? AppThemeData.greyDark900 : AppThemeData.grey900),
|
||||
searchStyle: TextStyle(fontSize: 16, color: isDark ? AppThemeData.greyDark900 : AppThemeData.grey900),
|
||||
dialogBackgroundColor: isDark ? AppThemeData.surfaceDark : AppThemeData.surface,
|
||||
textStyle: TextStyle(
|
||||
fontSize: 16,
|
||||
color: isDark ? AppThemeData.greyDark900 : Colors.black,
|
||||
),
|
||||
dialogTextStyle: TextStyle(
|
||||
fontSize: 16,
|
||||
color:
|
||||
isDark
|
||||
? AppThemeData.greyDark900
|
||||
: AppThemeData.grey900,
|
||||
),
|
||||
searchStyle: TextStyle(
|
||||
fontSize: 16,
|
||||
color:
|
||||
isDark
|
||||
? AppThemeData.greyDark900
|
||||
: AppThemeData.grey900,
|
||||
),
|
||||
dialogBackgroundColor:
|
||||
isDark ? AppThemeData.surfaceDark : AppThemeData.surface,
|
||||
padding: EdgeInsets.zero,
|
||||
),
|
||||
// const Icon(Icons.keyboard_arrow_down_rounded, size: 24, color: AppThemeData.grey400),
|
||||
@@ -437,19 +687,37 @@ class BookParcelScreen extends StatelessWidget {
|
||||
enableSearch: false,
|
||||
textFieldDecoration: InputDecoration(
|
||||
hintText: "Select parcel Weight".tr(),
|
||||
hintStyle: AppThemeData.regularTextStyle(fontSize: 14, color: isDark ? AppThemeData.grey400 : AppThemeData.greyDark400),
|
||||
hintStyle: AppThemeData.regularTextStyle(
|
||||
fontSize: 14,
|
||||
color:
|
||||
isDark ? AppThemeData.grey400 : AppThemeData.greyDark400,
|
||||
),
|
||||
filled: true,
|
||||
fillColor: isDark ? AppThemeData.surfaceDark : AppThemeData.surface,
|
||||
contentPadding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12),
|
||||
border: OutlineInputBorder(borderRadius: BorderRadius.circular(10), borderSide: BorderSide(color: AppThemeData.grey200)),
|
||||
enabledBorder: OutlineInputBorder(borderRadius: BorderRadius.circular(10), borderSide: BorderSide(color: AppThemeData.grey200)),
|
||||
focusedBorder: OutlineInputBorder(borderRadius: BorderRadius.circular(10), borderSide: BorderSide(color: AppThemeData.grey200)),
|
||||
fillColor:
|
||||
isDark ? AppThemeData.surfaceDark : AppThemeData.surface,
|
||||
contentPadding: const EdgeInsets.symmetric(
|
||||
horizontal: 16,
|
||||
vertical: 12,
|
||||
),
|
||||
border: OutlineInputBorder(
|
||||
borderRadius: BorderRadius.circular(10),
|
||||
borderSide: BorderSide(color: AppThemeData.grey200),
|
||||
),
|
||||
enabledBorder: OutlineInputBorder(
|
||||
borderRadius: BorderRadius.circular(10),
|
||||
borderSide: BorderSide(color: AppThemeData.grey200),
|
||||
),
|
||||
focusedBorder: OutlineInputBorder(
|
||||
borderRadius: BorderRadius.circular(10),
|
||||
borderSide: BorderSide(color: AppThemeData.grey200),
|
||||
),
|
||||
),
|
||||
dropDownList:
|
||||
controller.parcelWeight.map((e) {
|
||||
return DropDownValueModel(
|
||||
name: e.title ?? 'Normal'.tr(),
|
||||
value: e.title ?? 'Normal'.tr(), // safer to use title string
|
||||
value:
|
||||
e.title ?? 'Normal'.tr(), // safer to use title string
|
||||
);
|
||||
}).toList(),
|
||||
onChanged: (val) {
|
||||
@@ -457,7 +725,8 @@ class BookParcelScreen extends StatelessWidget {
|
||||
controller.senderWeightController.value.setDropDown(val);
|
||||
|
||||
// Link it to the selectedWeight object
|
||||
controller.selectedWeight = controller.parcelWeight.firstWhereOrNull((e) => e.title == val.value);
|
||||
controller.selectedWeight = controller.parcelWeight
|
||||
.firstWhereOrNull((e) => e.title == val.value);
|
||||
}
|
||||
},
|
||||
),
|
||||
@@ -467,8 +736,10 @@ class BookParcelScreen extends StatelessWidget {
|
||||
TextFieldWidget(
|
||||
hintText: "Notes (Optional)".tr(),
|
||||
controller: noteController,
|
||||
backgroundColor: isDark ? AppThemeData.surfaceDark : AppThemeData.surface,
|
||||
borderColor: isDark ? AppThemeData.greyDark200 : AppThemeData.grey200,
|
||||
backgroundColor:
|
||||
isDark ? AppThemeData.surfaceDark : AppThemeData.surface,
|
||||
borderColor:
|
||||
isDark ? AppThemeData.greyDark200 : AppThemeData.grey200,
|
||||
),
|
||||
],
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user