import 'package:awesome_dialog/awesome_dialog.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_expanded_tile/flutter_expanded_tile.dart';
import 'package:get/get.dart';
import 'package:intl/intl.dart';

import 'package:shared_preferences/shared_preferences.dart';
import 'package:shimmer/shimmer.dart';
import '../../Controller/Createorder/Createordercontroller.dart';
import '../../Controller/Dashboard/Drop/Tabs/Tenantcustomers/Tenantcustomercontroller.dart';
import '../../Controller/Dashboard/Pickup/Tabs/Tenantcustomers/Tenantcustomercontroller.dart';
import '../../Helper/Constants/Apiconstants.dart';
import '../../Helper/Constants/Assetconstants.dart';
import '../../Helper/Constants/Colorconstants.dart';
import '../../Helper/Logger.dart';
import '../../Helper/custombutton.dart';
import '../../Helper/toast.dart';
import '../../Helper/utility.dart';
import '../../Model/Response/Customers/GetCustomerById/GetCustomerByTenantId.dart';
import '../../Model/Response/Customers/GetCustomerById/Getdropcustomerbytenantid.dart';
import '../../Model/Response/Tenantlocation/Getlocationbyidresponse.dart';
import '../Googlemap/Googlemapview.dart';
import '../Home/Homeview.dart';
import 'Droplocation/Tabs/Dropcustomertabmainpage.dart';
import 'Pickuplocation/Googlemap/Googlemapview.dart';
import 'Pickuplocation/Tabs/Pickupcustomertabmainpage.dart';


class CreateOrderView extends StatelessWidget {
  final GetCustomerByTenantIdDetails? pickUpData;
  final GetDropCustomerByTenantIdDetails? dropData;
  final bool isDashboard;
   bool pickupSavedAddress;
   bool dropSavedAddress;


   CreateOrderView({super.key, required this.isDashboard,  this.pickUpData,this.dropData,this.pickupSavedAddress = false,this.dropSavedAddress= false});

  CreateOrderController createOrderController = Get.put(CreateOrderController());

  TenantPickupCustomerController tenantPickupCustomerController = Get.put(TenantPickupCustomerController());
  TenantDropCustomerController tenantDropCustomerController = Get.put(TenantDropCustomerController());

  ScrollController listScrollController = ScrollController();

  final ScrollController scrollController = ScrollController();

  @override
  Widget build(BuildContext context) {
    return GetBuilder<CreateOrderController>(
        initState: (_)async{
          createOrderController.appConfigurationService.getAppConfig("${ApiConstants.configUrl}?configid=1");
          createOrderController.loader = true;
          createOrderController.startTimer();
          // createOrderController.getDetails();
          createOrderController.getTenantLocation();
          createOrderController.getLocation();
          if(isDashboard == true) {
            createOrderController.getCurrentLocation();
          }
          if(createOrderController.fromLatitude!= null&&createOrderController.fromLongitude!= null&&createOrderController.toLatitude!= null&&createOrderController.toLongitude != null){
            SharedPreferences prefs = await SharedPreferences.getInstance();
            var distanceInMeters = createOrderController.calculateDistance(
              double.parse(createOrderController.toLatitude.toString()),
              double.parse(createOrderController.toLongitude.toString()),
              double.parse(createOrderController.fromLatitude.toString()),
              double.parse(createOrderController.fromLongitude.toString()),
            );

            createOrderController.distanceKm = distanceInMeters.round();

            print('distanceKmIninit ${createOrderController.distanceKm}');


            createOrderController.appRadius = prefs.getInt('appRadius')??0;
            logger.i(createOrderController.appRadius);
            if(createOrderController.appRadius != 0 &&createOrderController.distanceKm != null) {
              try {
                int appRadiusInt = int.parse(createOrderController.appRadius.toString());
                int distanceKmInt = int.parse(createOrderController.distanceKm.toString());

                if(appRadiusInt <= distanceKmInt) {
                  AwesomeDialog(
                    context: Get.context!,
                    dialogType: DialogType.warning,
                    //animType: AnimType.BOTTOMSLIDE,
                    descTextStyle: const TextStyle(fontSize: 16,),
                    desc: 'Service not available at this location.',
                    dismissOnTouchOutside: false,
                    btnOkText: 'Ok',
                    // btnCancelOnPress: () {
                    //   Get.to(OrderDetails(data: data));
                    // },
                    btnOkOnPress: () async{
                      Get.to(()=>CreateOrderView(isDashboard: false,));
                    },
                  ).show();
                }
              } catch (e) {
                print("Error parsing integers: $e");
              }
            } else {
              print('appRadiusinit ${createOrderController.appRadius}');
              print('distanceKminit ${createOrderController.distanceKm}');
              print("One or both of the values are null.");
            }
          }
          createOrderController.getTenantInfo();
          createOrderController.getTenantPricing();
          // createOrderController.getTenantSubCategories();
          createOrderController.getAdminToken();
          createOrderController.pickupExpandedTileController = ExpandedTileController(isExpanded:createOrderController.pickupPredictions.isNotEmpty?false:true);
          createOrderController.dropExpandedTileController = ExpandedTileController(isExpanded:false);

          // createOrderController.listenLocationExpansion();


            // deliveryDetailsController.customerEmail =data.email??'';

        },
        builder: (controller) {
          return WillPopScope(
              onWillPop: () async{
              Get.to(()=> HomeView(selectedIndex: 0));
              return false;
            },
            child: Scaffold(
              appBar: AppBar(
                backgroundColor: ColorConstants.primaryColor,
                elevation: 0.3,
                leading: Padding(
                  padding: const EdgeInsets.all(5.0),
                  child: InkWell(
                      onTap: (){
                        Get.to(HomeView(selectedIndex: 0));
                      },
                      child: Icon(Icons.reply,size: 30,color: ColorConstants.secondaryColor,)),
                ),
                
                title: Text('Delivery',style: TextStyle(fontSize: 18,color: ColorConstants.secondaryColor,),
                ),
                actions:  [
                  // Row(
                  //   mainAxisAlignment: MainAxisAlignment.center,
                  //   crossAxisAlignment: CrossAxisAlignment.center,
                  //   children: [
                  //     Text(
                  //       '${DateFormat("dd-MM-yyyy").format(DateTime.now())}',
                  //       style: TextStyle(fontSize: 17,color: ColorConstants.secondaryColor,fontWeight: FontWeight.normal),),
                  //     SizedBox(width: 5,),
                  //     Text(
                  //       '${controller.currentTime.value.hour.toString().padLeft(2, '0')}:${controller.currentTime.value.minute.toString().padLeft(2, '0')}:${controller.currentTime.value.second.toString().padLeft(2, '0')} ${controller.amPm.value}',
                  //
                  //       // '${DateFormat("hh.mm a").format(DateTime.now())}',
                  //       style: TextStyle(fontSize: 17,color: ColorConstants.secondaryColor,fontWeight: FontWeight.normal),),
                  //   ],
                  // ),
                  // Padding(
                  //   padding: const EdgeInsets.only(top: 5),
                  //   child: SizedBox(
                  //     width: Get.width*0.4,
                  //     child: DropdownButtonHideUnderline(
                  //       child: DropdownButtonFormField2<TenantLocationDetails>(
                  //         isExpanded: true,
                  //
                  //         style: TextStyle(color: ColorConstants.secondaryColor!),
                  //         decoration: InputDecoration(
                  //           // Add Horizontal padding using menuItemStyleData.padding so it matches
                  //           // the menu padding when button's width is not specified.
                  //           contentPadding: const EdgeInsets.only(bottom: 15),
                  //
                  //           // fillColor:ColorConstants.secondaryColor ,
                  //           // filled: true,
                  //           border: InputBorder.none
                  //           // Add more decoration..
                  //         ),
                  //         hint:  Text(
                  //           'Select location',
                  //           style: TextStyle(fontSize: 14,color: ColorConstants.secondaryColor),
                  //         ),
                  //
                  //         items: controller.tenantLocations
                  //             .map((item) => DropdownMenuItem<TenantLocationDetails>(
                  //           value: item,
                  //           child: Row(
                  //
                  //             children: [
                  //               // Icon(Icons.business,color: ColorConstants.darkGreyColor),
                  //               // SizedBox(width: 5,),
                  //               Expanded(
                  //                 child: Text(
                  //                   "${item.locationname}",
                  //                   maxLines: 2,
                  //                   style:  TextStyle(
                  //                     fontSize: 14,
                  //                       color: ColorConstants.darkGreyColor!
                  //                   ),
                  //                 ),
                  //               ),
                  //             ],
                  //           ),
                  //         ))
                  //             .toList(),
                  //         validator: (value) {
                  //           if (value == null) {
                  //             return 'Please select location.';
                  //           }
                  //           return null;
                  //         },
                  //         onChanged: (value) {
                  //           //Do something when selected item is changed.
                  //         },
                  //         onSaved: (location) async{
                  //           controller.selectedValue = location;
                  //           SharedPreferences prefs = await SharedPreferences.getInstance();
                  //           controller.appLocationId = location?.applocationid??0;
                  //           controller.locationId = location?.locationid??0;
                  //           controller.tenantLocationName = location?.locationname??"";
                  //           prefs.setInt('partnerAppLocationId', location?.applocationid??0);
                  //           controller.update();
                  //         },
                  //         buttonStyleData: const ButtonStyleData(
                  //           padding: EdgeInsets.only(right: 8),
                  //         ),
                  //         iconStyleData:  IconStyleData(
                  //           icon: Icon(
                  //             Icons.arrow_drop_down,
                  //             color: ColorConstants.secondaryColor,
                  //           ),
                  //           iconSize: 24,
                  //         ),
                  //         dropdownStyleData: DropdownStyleData(
                  //           decoration: BoxDecoration(
                  //             borderRadius: BorderRadius.circular(15),
                  //           ),
                  //         ),
                  //         menuItemStyleData: const MenuItemStyleData(
                  //           padding: EdgeInsets.symmetric(horizontal: 16),
                  //         ),
                  //       ),
                  //     ),
                  //   ),
                  // ),

                  Row(
                      mainAxisAlignment: MainAxisAlignment.start,

                    children: [
                      controller.tenantLocationName.isEmpty?Text('Select Location',style: TextStyle(fontSize: 16,color: ColorConstants.secondaryColor,)):
                      Text('${controller.tenantLocationName}',
                          maxLines: 1,
                          overflow: TextOverflow.ellipsis,
                          style: TextStyle(fontSize: 16,color: ColorConstants.secondaryColor,),
                      ),
                      SizedBox(width: 0,),
                      PopupMenuButton<TenantLocationDetails>(
                        position: PopupMenuPosition.under,
                        icon: const Icon(Icons.reorder,size: 30,),
                        onSelected: (TenantLocationDetails result) {
                          // Handle menu item selection
                          print('Selected: ${result.locationname}');
                        },
                        itemBuilder: (BuildContext context) {
                          return controller.tenantLocations.map((TenantLocationDetails location) {
                            return PopupMenuItem<TenantLocationDetails>(
                              value: location,
                              child: ListTile(
                                onTap: ()async{
                                  SharedPreferences prefs = await SharedPreferences.getInstance();
                                  controller.appLocationId = location.applocationid??0;
                                  controller.locationId = location.locationid??0;
                                  controller.tenantLocationName = location.locationname??'';
                                  prefs.setInt('partnerAppLocationId', location.applocationid??0);
                                  Navigator.pop(context);
                                },
                                title: Text("${location.locationname}"),

                                // subtitle: Text("${location.applocationid}"),
                              ),
                            );
                          }).toList();


                        },
                      ),
                    ],
                  ),


                  SizedBox(width: 10,)
                ],
                titleSpacing: 0,
              ),
              backgroundColor: Colors.grey[100],
              body:ListView(
                controller: listScrollController,
                children: [
                  Column(
                    mainAxisAlignment: MainAxisAlignment.start,
                    crossAxisAlignment: CrossAxisAlignment.start,
                    children: [
                      SizedBox(height: 10,),
                      Padding(
                        padding: const EdgeInsets.only(left: 10,right: 10) ,
                        child: Column(
                          children: [
                            Column(
                                children: [
                                  Container(
                                    decoration: BoxDecoration(color:ColorConstants.secondaryColor),
                                    child:SizedBox(
                                      // height: 185,
                                      child: Container(
                                        decoration: BoxDecoration(
                                          color: ColorConstants.secondaryColor,
                                          shape: BoxShape.rectangle,
                                          border: Border(top:BorderSide(color: Colors.grey[600]!),left:BorderSide(color: Colors.grey[600]!),right: BorderSide(color: Colors.grey[600]!)),
                                          // borderRadius: BorderRadius.only(topLeft: Radius.circular(10),topRight:Radius.circular(10) )

                                        ),
                                        child: Column(
                                          children: [
                                            Padding(
                                              padding: const EdgeInsets.only(left: 6,top: 6),
                                              child: Row(
                                                mainAxisAlignment:
                                                MainAxisAlignment.start,
                                                crossAxisAlignment:
                                                CrossAxisAlignment.center,
                                                children: [
                                                  InkWell(
                                                    onTap:(){
                                                        if (controller.resultPosition != null) {
                                                          Get.to(PickupGoogleMapView (lat: controller.resultPosition!.latitude, long: controller.resultPosition!.longitude));
                                                        }
                                                    },
                                                      child: Row(
                                                        children: [
                                                          Icon(Icons.location_on, color: ColorConstants.primaryColor,),
                                                          const SizedBox(
                                                            width: 6,
                                                          ),
                                                          Text(
                                                            'Pickup',
                                                            style: TextStyle(
                                                                color: ColorConstants.primaryColor,
                                                                fontWeight: FontWeight.bold,
                                                                fontSize: 16),
                                                          ),
                                                        ],
                                                      )),

                                                  Spacer(),
                                                  // Icon(Icons.edit,color: ColorConstants.primaryColor,),
                                                  InkWell(
                                                    onTap:(){
                                                      Get.to(()=> PickupCustomerView());
                                                    },
                                                    child: Container(
                                                      padding:const EdgeInsets.only(left: 5,right: 5,top: 5,bottom: 5),
                                                      decoration: BoxDecoration(color: ColorConstants.secondaryColor,border: Border.all(color: Colors.grey[400]!),borderRadius: BorderRadius.circular(5)),
                                                      child: Text(
                                                        'Saved address',
                                                        style: TextStyle(
                                                            color: ColorConstants.darkGreyColor,
                                                            fontWeight: FontWeight.bold,
                                                            fontSize: 15),
                                                      ),
                                                    ),
                                                  ),
                                                  const SizedBox(
                                                    width: 6,
                                                  ),

                                                ],
                                              ),
                                            ),
                                            // Padding(
                                            //   padding: const EdgeInsets.only(left: 5,top: 5,bottom: 0,right: 5),
                                            //   child: Column(
                                            //     mainAxisAlignment:
                                            //     MainAxisAlignment.center,
                                            //     crossAxisAlignment:
                                            //     CrossAxisAlignment.center,
                                            //     children: [
                                            //       TextField(
                                            //         controller: tenantPickupCustomerController.searchController,
                                            //         textAlignVertical: TextAlignVertical.center,
                                            //         // focusNode: controller.focusNode,
                                            //         onChanged: (data){
                                            //           var keyword = data;
                                            //           print('keyword................${keyword}');
                                            //           if(data.isEmpty){
                                            //             tenantPickupCustomerController.getCustomerBytenantId.clear();
                                            //             tenantPickupCustomerController.update();
                                            //           }
                                            //           else {
                                            //           // if(data.isNotEmpty) {
                                            //             tenantPickupCustomerController.shimmer.value = true;
                                            //             tenantPickupCustomerController.getSearchCustomerData(keyword);
                                            //           }
                                            //           // else{
                                            //           //   tenantPickupCustomerController.shimmer.value = true;
                                            //           //   tenantPickupCustomerController.refreshData();
                                            //           //   FocusScope.of(context).unfocus();
                                            //           // }
                                            //         },
                                            //         decoration: InputDecoration(
                                            //                 border: OutlineInputBorder(
                                            //                 borderRadius: BorderRadius.all(Radius.circular(2)),
                                            //                 borderSide: BorderSide(
                                            //                     width: 1.5,
                                            //                     color: Colors.grey[300]!)),
                                            //             enabledBorder: OutlineInputBorder(
                                            //                 borderRadius: BorderRadius.all(Radius.circular(2)),
                                            //                 borderSide: BorderSide(
                                            //                     width: 1.5,
                                            //                     color: Colors.grey[300]!)),
                                            //             focusedBorder: OutlineInputBorder(
                                            //                 borderRadius: BorderRadius.all(Radius.circular(2)),
                                            //                 borderSide: BorderSide(
                                            //                     width: 1.5,
                                            //                     color: Colors.grey[300]!)),
                                            //             disabledBorder: OutlineInputBorder(
                                            //                 borderRadius: BorderRadius.all(Radius.circular(2)),
                                            //                 borderSide: BorderSide(width: 1, color: Colors.grey.shade50)),
                                            //             prefixIcon: IconButton(
                                            //               icon: const Icon(Icons.search),
                                            //               color: Colors.grey[500]!,
                                            //               onPressed: () {
                                            //
                                            //               },
                                            //             ),
                                            //             hintText: 'Search by contactno',
                                            //             hintStyle: TextStyle(
                                            //               color: Colors.grey[500]!,
                                            //
                                            //
                                            //             ),
                                            //             suffixIcon: tenantPickupCustomerController.searchController.text.isEmpty ? const SizedBox() : IconButton(
                                            //               icon: const Icon(Icons.cancel),
                                            //               color: Colors.grey[500]!,
                                            //               onPressed: () {
                                            //                 tenantPickupCustomerController.searchController.clear();
                                            //                 tenantPickupCustomerController.shimmer.value = true;
                                            //                 tenantPickupCustomerController.getCustomerBytenantId.clear();
                                            //                 // tenantPickupCustomerController.refreshData();
                                            //                 FocusManager.instance.primaryFocus?.unfocus();
                                            //               },
                                            //             ),
                                            //             ),
                                            //       ),
                                            //     ],
                                            //   ),
                                            // ),
                                           // tenantPickupCustomerController.getCustomerBytenantId.isNotEmpty
                                           //      ? Container(
                                           //    height: Get.height*0.20,
                                           //    width: Get.width,
                                           //    decoration: BoxDecoration(color: ColorConstants.secondaryColor,borderRadius: BorderRadius.circular(1)),
                                           //    child: Obx(() {
                                           //      return ListView.builder(
                                           //          itemCount: tenantPickupCustomerController.getCustomerBytenantId.length,
                                           //          itemBuilder: (
                                           //              BuildContext context,
                                           //              int index) {
                                           //            return Padding(
                                           //              padding: const EdgeInsets
                                           //                  .only(
                                           //                top: 5,
                                           //                left: 5,
                                           //                right: 5,
                                           //
                                           //              ),
                                           //              child: InkWell(
                                           //                onTap: () async {
                                           //                  createOrderController.pickupCustomerId = tenantPickupCustomerController.getCustomerBytenantId[index].customerid;
                                           //                  createOrderController.pickUpCustomerName = "${tenantPickupCustomerController.getCustomerBytenantId[index].firstname}" + "${tenantPickupCustomerController.getCustomerBytenantId[index].lastname}";
                                           //                  createOrderController.pickUpCustomerContactNo = tenantPickupCustomerController.getCustomerBytenantId[index].contactno;
                                           //                  createOrderController.pickUpLandMark = tenantPickupCustomerController.getCustomerBytenantId[index].landmark;
                                           //                  createOrderController.pickUpDoorNo = tenantPickupCustomerController.getCustomerBytenantId[index].doorno;
                                           //                  createOrderController.pickupLocationId = tenantPickupCustomerController.getCustomerBytenantId[index].deliverylocationid;
                                           //                  createOrderController.pickupTenantLocationId = tenantPickupCustomerController.getCustomerBytenantId[index].tenantlocationid;
                                           //                  createOrderController.fromLatitude = tenantPickupCustomerController.getCustomerBytenantId[index].latitude;
                                           //                  createOrderController.fromLongitude = tenantPickupCustomerController.getCustomerBytenantId[index].longitude;
                                           //                  createOrderController.fromAddress = tenantPickupCustomerController.getCustomerBytenantId[index].address;
                                           //                  createOrderController.pickupAddressController.text = tenantPickupCustomerController.getCustomerBytenantId[index].address ?? '';
                                           //                  createOrderController.pickupContactNameController.text = "${tenantPickupCustomerController.getCustomerBytenantId[index].firstname}" + "${tenantPickupCustomerController.getCustomerBytenantId[index].lastname}";
                                           //                  createOrderController.pickupContactNoController.text = tenantPickupCustomerController.getCustomerBytenantId[index].contactno ?? '';
                                           //                  createOrderController.pickupDoorNoController.text = tenantPickupCustomerController.getCustomerBytenantId[index].doorno ?? '';
                                           //                  createOrderController.pickupLandMarkController.text = tenantPickupCustomerController.getCustomerBytenantId[index].landmark ?? '';
                                           //                  createOrderController.pickupStateController.text = tenantPickupCustomerController.getCustomerBytenantId[index].state ?? '';
                                           //                  createOrderController.pickupCityController.text = tenantPickupCustomerController.getCustomerBytenantId[index].city ?? '';
                                           //                  createOrderController.pickupSuburbController.text = tenantPickupCustomerController.getCustomerBytenantId[index].suburb ?? '';
                                           //                  createOrderController.pickupPostcodeController.text = tenantPickupCustomerController.getCustomerBytenantId[index].postcode ?? '';
                                           //
                                           //                  logger.i(createOrderController.pickupCustomerId);
                                           //                  logger.i(createOrderController.dropCustomerId);
                                           //
                                           //                  if (createOrderController.pickupCustomerId == createOrderController.dropCustomerId) {
                                           //                    Toast.showToast(
                                           //                        'Please select different customer it already selected');
                                           //                  }
                                           //                  else {
                                           //                    FocusManager.instance.primaryFocus?.unfocus();
                                           //                    tenantPickupCustomerController.getCustomerBytenantId.clear();
                                           //                    tenantPickupCustomerController.searchController.clear();
                                           //                    tenantPickupCustomerController.update();
                                           //                    print('ontapgetCustomerBytenantId ${tenantPickupCustomerController.getCustomerBytenantId}');
                                           //
                                           //                    // Get.to(CreateOrderView(pickUpData:tenantPickupCustomerController.getCustomerBytenantId[index], isDashboard: false,pickupSavedAddress: true,));
                                           //
                                           //                  }
                                           //                },
                                           //                child: Stack(
                                           //                  children: [
                                           //                    Container(
                                           //                      padding: const EdgeInsets.only(right: 5,top: 10,left: 5,bottom: 10),
                                           //                      margin: const EdgeInsets.only(top: 2,bottom: 2),
                                           //                      decoration: BoxDecoration(
                                           //                        color: ColorConstants.secondaryColor,
                                           //                        border:Border.all(color: ColorConstants.darkGreyColor!),
                                           //                        borderRadius: const BorderRadius.all(Radius.circular(3)),
                                           //                      ),
                                           //                      child: Row(
                                           //                        mainAxisAlignment: MainAxisAlignment.center,
                                           //                        crossAxisAlignment: CrossAxisAlignment.center,
                                           //                        children: [
                                           //
                                           //                          Expanded(
                                           //                              flex: 8,
                                           //                              child: Column(
                                           //                                crossAxisAlignment: CrossAxisAlignment.center,
                                           //                                mainAxisAlignment: MainAxisAlignment.center,
                                           //                                children: [
                                           //                                  Row(
                                           //                                    children: [
                                           //                                      Icon(
                                           //                                        Icons.person,
                                           //                                        color: ColorConstants.primaryColor,
                                           //                                        size: 20,
                                           //                                      ),
                                           //                                      const SizedBox(
                                           //                                        width: 5,
                                           //                                      ),
                                           //                                      Row(
                                           //                                        children: [
                                           //                                          Text(
                                           //                                            tenantPickupCustomerController.getCustomerBytenantId[index].firstname ?? "",
                                           //                                            style: TextStyle(
                                           //                                                fontSize: 16,
                                           //                                                color: Colors.grey[600],
                                           //                                                fontWeight: FontWeight.w300),
                                           //                                          ),
                                           //                                        ],
                                           //                                      ),
                                           //                                      Spacer(),
                                           //                                      Icon(
                                           //                                        Icons.call,
                                           //                                        color: ColorConstants.primaryColor,
                                           //                                        size: 20,
                                           //                                      ),
                                           //                                      const SizedBox(
                                           //                                        width: 5,
                                           //                                      ),
                                           //                                      Text(
                                           //                                        '${tenantPickupCustomerController.getCustomerBytenantId[index].contactno}',
                                           //                                        style: TextStyle(
                                           //                                            color: ColorConstants.darkGreyColor,
                                           //                                            fontSize: 14,
                                           //                                            fontWeight:
                                           //                                            FontWeight.w300),
                                           //                                      ),
                                           //
                                           //                                    ],
                                           //                                  ),
                                           //
                                           //                                ],
                                           //                              )),
                                           //                        ],
                                           //                      ),
                                           //                    ),
                                           //
                                           //                  ],
                                           //                ),
                                           //              ),
                                           //            );
                                           //          }
                                           //      );
                                           //    })
                                           //  ):SizedBox(),
                                            Padding(
                                              padding: const EdgeInsets.only(left: 5,top: 5,bottom: 0,right: 5),
                                              child: Column(
                                                mainAxisAlignment:
                                                MainAxisAlignment.center,
                                                crossAxisAlignment:
                                                CrossAxisAlignment.center,
                                                children: [
                                                  TextField(
                                                    onTap: () async {
                                                    },
                                                    onChanged: (text)async {
                                                      if(text.isEmpty){
                                                        controller.pickupPredictions.clear();
                                                        FocusManager.instance.primaryFocus?.unfocus();
                                                        controller.update();
                                                      }
                                                      else {
                                                        controller.onSearchPickupTextChanged(text);
                                                      }
                                                    },
                                                    controller:  controller.pickupAddressController,
                                                    maxLines: 2,
                                                    cursorColor: ColorConstants.textFieldColor,
                                                    style: TextStyle(
                                                      color:  ColorConstants.textFieldColor,
                                                      fontSize: 14,
                                                    ),

                                                    decoration: InputDecoration(
                                                        fillColor: Colors.white,
                                                        filled: true,
                                                        // prefixIcon:Icon( Icons.location_on,color: ColorConstants.primaryColor,) ,
                                                        suffixIcon: InkWell(
                                                            onTap: (){
                                                              controller.pickupAddressController.clear();
                                                              controller.pickupSuburbController.clear();
                                                              controller.pickupCityController.clear();
                                                              controller.pickupStateController.clear();
                                                              controller.pickupPostcodeController.clear();
                                                              controller.pickupSaveAddress = false;
                                                              // controller.pickupContactNameController.clear();
                                                              // controller.pickupContactNoController.clear();
                                                              // controller.pickupDoorNoController.clear();
                                                              // controller.pickupLandMarkController.clear();
                                                              controller.pickupPredictions.clear();
                                                              FocusManager.instance.primaryFocus?.unfocus();
                                                              // pickupSavedAddress = false;
                                                              controller.pickupExpandedTileController.collapse();

                                                              controller.update();
                                                              print('isExpandedTextfield');

                                                            },
                                                            child: Icon(Icons.close,color: Colors.red,)),
                                                        border: OutlineInputBorder(
                                                            borderRadius: BorderRadius.all(Radius.circular(2)),
                                                            borderSide: BorderSide(
                                                                width: 1.5,
                                                                color: Colors.grey[300]!)),
                                                        enabledBorder: OutlineInputBorder(
                                                            borderRadius: BorderRadius.all(Radius.circular(2)),
                                                            borderSide: BorderSide(
                                                                width: 1.5,
                                                                color: Colors.grey[300]!)),
                                                        focusedBorder: OutlineInputBorder(
                                                            borderRadius: BorderRadius.all(Radius.circular(2)),
                                                            borderSide: BorderSide(
                                                                width: 1.5,
                                                                color: Colors.grey[300]!)),
                                                        disabledBorder: OutlineInputBorder(
                                                            borderRadius: BorderRadius.all(Radius.circular(2)),
                                                            borderSide: BorderSide(width: 1, color: Colors.grey.shade50)),
                                                        counterText: "",
                                                        hintText: "Pickup address"),
                                                  ),
                                                ],
                                              ),
                                            ),
                                            SizedBox(height: 5,)
                                          ],
                                        ),
                                      ),
                                    ),

                                  ),
                                  Container(
                                    decoration: BoxDecoration(
                                      color: ColorConstants.secondaryColor,
                                      shape: BoxShape.rectangle,
                                      border: Border(right:BorderSide(color: Colors.grey[600]!),left:BorderSide(color: Colors.grey[600]!),bottom: BorderSide(color: Colors.grey[600]!),top:BorderSide(color: Colors.grey[300]!)),
                                      // borderRadius: BorderRadius.only(topLeft: Radius.circular(10),topRight:Radius.circular(10) )

                                    ),
                                    child: ExpandedTile(
                                      theme:  ExpandedTileThemeData(
                                        // headerRadius: 24.0,
                                        headerPadding: EdgeInsets.only(left: 5,right: 5,top: 5,bottom: 5),
                                          headerColor: ColorConstants.secondaryColor,
                                          contentBackgroundColor: ColorConstants.secondaryColor,
                                          contentPadding: EdgeInsets.only(left: 5,right: 5,top: 5,bottom: 5),
                                      ),
                                      controller: controller.pickupExpandedTileController,
                                      title: Column(
                                        mainAxisAlignment: MainAxisAlignment.start,
                                        crossAxisAlignment: CrossAxisAlignment.start,
                                        children: [
                                          createOrderController.pickupPredictions.isNotEmpty?Container(
                                            height: Get.height*0.20,
                                            width: Get.width,
                                            decoration: BoxDecoration(color: ColorConstants.secondaryColor,borderRadius: BorderRadius.circular(1)),
                                            child: Obx(() {
                                              return ListView.builder(
                                                itemCount:  createOrderController.pickupPredictions.length,
                                                itemBuilder: (context, index) {
                                                  final prediction =
                                                  createOrderController.pickupPredictions[index]['description'];
                                                  return ListTile(
                                                    title: Text(prediction,style: TextStyle(color: ColorConstants.darkGreyColor),),
                                                    onTap: () {
                                                      final placeId =
                                                      createOrderController.pickupPredictions[index]['place_id'];
                                                      createOrderController.getPickupPlaceDetails(placeId,prediction);
                                                      controller.pickupExpandedTileController.expand();
                                                      FocusManager.instance.primaryFocus?.unfocus();
                                                    },
                                                  );
                                                },
                                              );

                                            }),):SizedBox(),
                                          createOrderController.pickupPredictions.isNotEmpty?SizedBox():Text('Pickup details :',style: TextStyle(color: ColorConstants.darkGreyColor,fontSize: 14,fontWeight: FontWeight.bold),),


                                        ],
                                      ),
                                      content: Column(
                                        mainAxisAlignment: MainAxisAlignment.start,
                                        crossAxisAlignment: CrossAxisAlignment.start,
                                        children: <Widget>[
                                          const SizedBox(height: 0,),
                                          Row(
                                            mainAxisAlignment:
                                            MainAxisAlignment.start,
                                            crossAxisAlignment:
                                            CrossAxisAlignment.center,
                                            children: [
                                              SizedBox(width:5),

                                              Container(
                                                height: Get.height * 0.07,
                                                width: Get.width * 0.45,
                                                child: TextField(
                                                    textCapitalization: TextCapitalization.sentences,
                                                  inputFormatters: <TextInputFormatter>[
                                                    UpperCaseTextFormatter()
                                                  ],

                                                  onTap: () async {
                                                  },
                                                  onChanged: (name){
                                                    print('pickupCustomerName $name');
                                                    createOrderController.pickUpCustomerName = name;
                                                  },


                                                  controller:  createOrderController.pickupContactNameController,
                                                  // maxLines: 1,
                                                  cursorColor: ColorConstants.textFieldColor,
                                                  style: TextStyle(
                                                    color:  ColorConstants.textFieldColor,
                                                    fontSize: 14,
                                                  ),
                                                    maxLength: 25,

                                                  decoration: InputDecoration(
                                                      fillColor: Colors.white,
                                                      filled: true,
                                                      prefixIcon:Icon( Icons.person,color: ColorConstants.darkGreyColor,) ,
                                                      border: OutlineInputBorder(
                                                          borderRadius: BorderRadius.all(Radius.circular(1)),
                                                          borderSide: BorderSide(
                                                              width: 1.5,
                                                              color: Colors.grey[100]!)),
                                                      enabledBorder: OutlineInputBorder(
                                                          borderRadius: BorderRadius.all(Radius.circular(1)),
                                                          borderSide: BorderSide(
                                                              width: 1.5,
                                                              color: Colors.grey[100]!)),
                                                      focusedBorder: OutlineInputBorder(
                                                          borderRadius: BorderRadius.all(Radius.circular(1)),
                                                          borderSide: BorderSide(
                                                              width: 1.5,
                                                              color: Colors.grey[100]!)),
                                                      disabledBorder: OutlineInputBorder(
                                                          borderRadius: BorderRadius.all(Radius.circular(1)),
                                                          borderSide: BorderSide(width: 1, color: Colors.grey.shade50)),
                                                      counterText: "",
                                                      hintText: "Contact name"),
                                                ),
                                              ),
                                              SizedBox(width: 3,),
                                              Container(
                                                height: Get.height * 0.07,
                                                width: Get.width * 0.45,
                                                child:
                                                // IntlPhoneField(
                                                //   focusNode: controller.pickupFocusNode,
                                                //   flagsButtonPadding: EdgeInsets.only(left: 5),
                                                //   invalidNumberMessage: "Invalid number",
                                                //   textAlignVertical: TextAlignVertical.center,
                                                //   cursorHeight: 10,
                                                //   showDropdownIcon: false,
                                                //   // autovalidateMode: AutovalidateMode.always,
                                                //   decoration: InputDecoration(
                                                //       fillColor: Colors.white,
                                                //     filled: true,
                                                //     labelText: '',
                                                //       hintText: "Contact no",
                                                //     counterText: "",
                                                //     contentPadding: EdgeInsets.only(top: 10),
                                                //     border: OutlineInputBorder(
                                                //         borderRadius: BorderRadius.all(Radius.circular(1)),
                                                //         borderSide: BorderSide(
                                                //             width: 1.5,
                                                //             color: Colors.grey[100]!)),
                                                //     enabledBorder: OutlineInputBorder(
                                                //         borderRadius: BorderRadius.all(Radius.circular(1)),
                                                //         borderSide: BorderSide(
                                                //             width: 1.5,
                                                //             color: Colors.grey[100]!)),
                                                //     focusedBorder: OutlineInputBorder(
                                                //         borderRadius: BorderRadius.all(Radius.circular(1)),
                                                //         borderSide: BorderSide(
                                                //             width: 1.5,
                                                //             color: Colors.grey[100]!)),
                                                //     disabledBorder: OutlineInputBorder(
                                                //         borderRadius: BorderRadius.all(Radius.circular(1)),
                                                //         borderSide: BorderSide(width: 1, color: Colors.grey.shade50)),
                                                //   ),
                                                //   initialCountryCode: 'IN',
                                                //   showCountryFlag: false,
                                                //   countries: [],
                                                //   controller:  createOrderController.pickupContactNoController,
                                                //   keyboardType: TextInputType.number,
                                                //   // maxLines: 1,
                                                //   cursorColor: ColorConstants.textFieldColor,
                                                //   style: TextStyle(
                                                //     color:  ColorConstants.textFieldColor,
                                                //     fontSize: 14,
                                                //   ),
                                                //   onChanged: (contactNo){
                                                //     createOrderController.pickUpCustomerContactNo = contactNo.completeNumber;
                                                //     //
                                                //     if(controller.pickupContactNoController.text.length ==10){
                                                //       FocusScope.of(context).unfocus();
                                                //     }
                                                //   },
                                                // ),
                                                // InternationalPhoneNumberInput(
                                                //   // Callback for when the input changes
                                                //   onInputChanged: (PhoneNumber contactNo) {
                                                //     createOrderController.pickUpCustomerContactNo = contactNo.phoneNumber;
                                                //
                                                //     if(contactNo.phoneNumber?.length==10){
                                                //       FocusScope.of(context).unfocus();
                                                //     }
                                                //   },
                                                //   // Callback for when the input is validated
                                                //   onInputValidated: (bool value) {
                                                //     // You can perform additional validation here if needed
                                                //   },
                                                //   // Configuration for the country selector
                                                //  textAlignVertical: TextAlignVertical.center,
                                                //   // Ignore blank input
                                                //   ignoreBlank: false,
                                                //   countrySelectorScrollControlled: false,
                                                //   spaceBetweenSelectorAndTextField: 5,
                                                //
                                                //
                                                //   // Auto-validation mode
                                                //   autoValidateMode: AutovalidateMode.onUserInteraction,
                                                //   // Style for the country selector
                                                //   selectorTextStyle: TextStyle(color: Colors.black),
                                                //   keyboardType: TextInputType.number,
                                                //   // maxLines: 1,
                                                //   cursorColor: ColorConstants.textFieldColor,
                                                //
                                                //   // Initial value for the phone number input
                                                //   initialValue:controller.number,
                                                //   // Controller for the text field
                                                //   textFieldController: createOrderController.pickupContactNoController,
                                                //   // Decoration for the input field
                                                //   inputDecoration: InputDecoration(
                                                //       fillColor: Colors.white,
                                                //       filled: true,
                                                //       border: OutlineInputBorder(
                                                //           borderRadius: BorderRadius.all(Radius.circular(1)),
                                                //           borderSide: BorderSide(
                                                //               width: 1.5,
                                                //               color: Colors.grey[100]!)),
                                                //       enabledBorder: OutlineInputBorder(
                                                //           borderRadius: BorderRadius.all(Radius.circular(1)),
                                                //           borderSide: BorderSide(
                                                //               width: 1.5,
                                                //               color: Colors.grey[100]!)),
                                                //       focusedBorder: OutlineInputBorder(
                                                //           borderRadius: BorderRadius.all(Radius.circular(1)),
                                                //           borderSide: BorderSide(
                                                //               width: 1.5,
                                                //               color: Colors.grey[100]!)),
                                                //       disabledBorder: OutlineInputBorder(
                                                //           borderRadius: BorderRadius.all(Radius.circular(1)),
                                                //           borderSide: BorderSide(width: 1, color: Colors.grey.shade50)),
                                                //       counterText: "",
                                                //       hintText: "Contact no"
                                                //   ),
                                                //   // Format input (e.g., adding spaces between digits)
                                                //   formatInput: false,
                                                // ),

                                                TextField(
                                                  onChanged: (contactNo){
                                                    createOrderController.pickUpCustomerContactNo = contactNo;
                                                    createOrderController.pickUpCustomerContactNoCheck = createOrderController.pickUpCustomerContactNo;
                                                    if(createOrderController.pickUpCustomerContactNoCheck == createOrderController.pickUpCustomerContactNo){
                                                      controller.pickupSaveAddress = true;
                                                     if(contactNo.length==10){
                                                      FocusManager.instance.primaryFocus?.unfocus();
                                                    }
                                                    }
                                                    //  else if(contactNo.length==10){
                                                    //   FocusManager.instance.primaryFocus?.unfocus();
                                                    // }
                                                  },
                                                  controller:  createOrderController.pickupContactNoController,
                                                  keyboardType: TextInputType.number,
                                                  // maxLines: 1,
                                                  cursorColor: ColorConstants.textFieldColor,
                                                  style: TextStyle(
                                                    color:  ColorConstants.textFieldColor,
                                                    fontSize: 14,
                                                  ),
                                                    maxLength: 10,

                                                  decoration: InputDecoration(
                                                      fillColor: Colors.white,
                                                      filled: true,
                                                      prefixIcon:Icon( Icons.phone,color: ColorConstants.darkGreyColor,) ,
                                                      border: OutlineInputBorder(
                                                          borderRadius: BorderRadius.all(Radius.circular(1)),
                                                          borderSide: BorderSide(
                                                              width: 1.5,
                                                              color: Colors.grey[100]!)),
                                                      enabledBorder: OutlineInputBorder(
                                                          borderRadius: BorderRadius.all(Radius.circular(1)),
                                                          borderSide: BorderSide(
                                                              width: 1.5,
                                                              color: Colors.grey[100]!)),
                                                      focusedBorder: OutlineInputBorder(
                                                          borderRadius: BorderRadius.all(Radius.circular(1)),
                                                          borderSide: BorderSide(
                                                              width: 1.5,
                                                              color: Colors.grey[100]!)),
                                                      disabledBorder: OutlineInputBorder(
                                                          borderRadius: BorderRadius.all(Radius.circular(1)),
                                                          borderSide: BorderSide(width: 1, color: Colors.grey.shade50)),
                                                      counterText: "",
                                                      hintText: "Contact no"),
                                                ),
                                              ),

                                            ],
                                          ),
                                          const SizedBox(height: 5,),
                                          Row(
                                            mainAxisAlignment:
                                            MainAxisAlignment.start,
                                            crossAxisAlignment:
                                            CrossAxisAlignment.center,
                                            children: [
                                              SizedBox(width:5),
                                              Container(
                                                height: Get.height * 0.07,
                                                width: Get.width * 0.45,
                                                child: TextField(

                                                  onTap: () async {
                                                  },
                                                  onChanged: (doorno){
                                                    print('pickUpDoorNo $doorno');
                                                    createOrderController.pickUpDoorNo = doorno;
                                                  },
                                                  maxLength: 25,

                                                  controller:  createOrderController.pickupDoorNoController,
                                                  // maxLines: 1,
                                                  cursorColor: ColorConstants.textFieldColor,
                                                  style: TextStyle(
                                                    color:  ColorConstants.textFieldColor,
                                                    fontSize: 14,
                                                  ),

                                                  decoration: InputDecoration(
                                                      fillColor: Colors.white,
                                                      filled: true,
                                                      prefixIcon:Icon( Icons.door_back_door_outlined,color: ColorConstants.darkGreyColor,) ,
                                                      border: OutlineInputBorder(
                                                          borderRadius: BorderRadius.all(Radius.circular(1)),
                                                          borderSide: BorderSide(
                                                              width: 1.5,
                                                              color: Colors.grey[100]!)),
                                                      enabledBorder: OutlineInputBorder(
                                                          borderRadius: BorderRadius.all(Radius.circular(1)),
                                                          borderSide: BorderSide(
                                                              width: 1.5,
                                                              color: Colors.grey[100]!)),
                                                      focusedBorder: OutlineInputBorder(
                                                          borderRadius: BorderRadius.all(Radius.circular(1)),
                                                          borderSide: BorderSide(
                                                              width: 1.5,
                                                              color: Colors.grey[100]!)),
                                                      disabledBorder: OutlineInputBorder(
                                                          borderRadius: BorderRadius.all(Radius.circular(1)),
                                                          borderSide: BorderSide(width: 1, color: Colors.grey.shade50)),
                                                      counterText: "",
                                                      hintText: "House / Door no"),
                                                ),
                                              ),
                                              SizedBox(width: 3,),
                                              Container(
                                                height: Get.height * 0.07,
                                                width: Get.width * 0.45,
                                                child: TextField(

                                                  onTap: () async {
                                                  },
                                                  onChanged: (landmark){
                                                    print('pickUpLandMark $landmark');
                                                    createOrderController.pickUpLandMark = landmark;
                                                  },

                                                  controller:  createOrderController.pickupLandMarkController,
                                                  maxLength: 25,

                                                  // maxLines: 1,
                                                  cursorColor: ColorConstants.textFieldColor,
                                                  style: TextStyle(
                                                    color:  ColorConstants.textFieldColor,
                                                    fontSize: 14,
                                                  ),

                                                  decoration: InputDecoration(
                                                      fillColor: Colors.white,
                                                      filled: true,
                                                      prefixIcon:Icon( Icons.house,color: ColorConstants.darkGreyColor,) ,
                                                      border: OutlineInputBorder(
                                                          borderRadius: BorderRadius.all(Radius.circular(1)),
                                                          borderSide: BorderSide(
                                                              width: 1.5,
                                                              color: Colors.grey[100]!)),
                                                      enabledBorder: OutlineInputBorder(
                                                          borderRadius: BorderRadius.all(Radius.circular(1)),
                                                          borderSide: BorderSide(
                                                              width: 1.5,
                                                              color: Colors.grey[100]!)),
                                                      focusedBorder: OutlineInputBorder(
                                                          borderRadius: BorderRadius.all(Radius.circular(1)),
                                                          borderSide: BorderSide(
                                                              width: 1.5,
                                                              color: Colors.grey[100]!)),
                                                      disabledBorder: OutlineInputBorder(
                                                          borderRadius: BorderRadius.all(Radius.circular(1)),
                                                          borderSide: BorderSide(width: 1, color: Colors.grey.shade50)),
                                                      counterText: "",
                                                      hintText: "Landmark"),
                                                ),
                                              ),
                                            ],
                                          ),
                                          const SizedBox(height: 10,),
                                          Row(
                                            mainAxisAlignment: MainAxisAlignment.start,
                                            crossAxisAlignment: CrossAxisAlignment.end,
                                            children: [
                                              SizedBox(width:5),
                                              !controller.pickupSaveAddress?Container():InkWell(
                                                     onTap:(){
                                                       if( controller.pickupAddressController.text.isEmpty){
                                                         Toast.showToast('Pickup address should not be empty');
                                                       }
                                                       else if( controller.pickupContactNameController.text.isEmpty){

                                                         Toast.showToast('Pickup customer name should not be empty');
                                                       }
                                                       else if( controller.pickupContactNoController.text.isEmpty){

                                                         Toast.showToast('Pickup customer no should not be empty');
                                                       }
                                                       else if( controller.pickupContactNoController.text.length!=10){

                                                         Toast.showToast('Please enter correct pickup customer no');
                                                       }
                                                       // else if( controller.pickupContactNameController.text.length!=3 ){
                                                       //   Toast.showToast('Pickup customer name should be minimum 3 characters required');
                                                       // }
                                                       else {
                                                           // controller.pickupSaveAddress = true;
                                                           // controller.pickupCustomerId = 0;
                                                       }

                                                     },
                                                child:   !controller.pickupSaveAddress?Container():Row(
                                                  children: [
                                                    InkWell(
                                                      onTap: (){
                                                        pickupSave();
                                                      },
                                                      child: Container(height: 21,width: 22,
                                                        decoration: BoxDecoration(borderRadius: BorderRadius.circular(3),color: controller.pikUpSaveChecking==true?Colors.green:Colors.white,border: Border.all(
                                                            color: controller.pikUpSaveChecking?Colors.green:Colors.grey[400]!
                                                        )
                                                        ),
                                                        child:controller.pikUpSaveChecking ==true?const Icon(Icons.check,color: Colors.white,size: 19,):const SizedBox(),
                                                      ),
                                                    ),
                                                    SizedBox(width: 10,),
                                                    Text('Save for later',style: TextStyle(color:ColorConstants.primaryColor),),
                                                  ],
                                                ),
                                              ),
                                              Spacer(),
                                              InkWell(
                                                onTap:(){
                                                  controller.pickupExpandedTileController.collapse();
                                                },
                                                child: Container(
                                                  padding: const EdgeInsets.only(left: 20,bottom: 7,top: 7,right:20),
                                                  decoration: BoxDecoration(color:ColorConstants.primaryColor,borderRadius: BorderRadius.circular(5)),
                                                  child: Text('Ok',style: TextStyle(color:ColorConstants.secondaryColor),),
                                                ),
                                              ),
                                              SizedBox(width:5)

                                            ],
                                          ),
                                          const SizedBox(height: 5,),


                                        ],
                                      ),
                                      onTap: () {
                                        debugPrint("tapped!!");
                                      },
                                      onLongTap: () {
                                        debugPrint("long tapped!!");
                                      },

                                    ),
                                  ),
                                ],
                            ),
                          ],
                        ),
                      ),
                      SizedBox(height: 10,),
                      Padding(
                        padding: const EdgeInsets.only(left: 8,right: 8) ,
                        child: Column(
                          children: [
                            Column(
                              children: [
                                Container(
                                  decoration: BoxDecoration(color:ColorConstants.secondaryColor),
                                  child:SizedBox(
                                    // height: 120,
                                    child: Container(
                                      decoration: BoxDecoration(
                                        color: ColorConstants.secondaryColor,
                                        shape: BoxShape.rectangle,
                                        border: Border(top:BorderSide(color: Colors.green[300]!),left:BorderSide(color: Colors.green[300]!),right: BorderSide(color: Colors.green[300]!)),
                                        // borderRadius: BorderRadius.only(topLeft: Radius.circular(10),topRight:Radius.circular(10) )

                                      ),
                                      child: Column(
                                        children: [
                                          Padding(
                                            padding: const EdgeInsets.only(left: 6,top: 6),
                                            child: Row(
                                              mainAxisAlignment:
                                              MainAxisAlignment.start,
                                              crossAxisAlignment:
                                              CrossAxisAlignment.center,
                                              children: [
                                                InkWell(
                                                  onTap:()async{
                                                    if (controller.resultPosition != null) {
                                                      Get.to(DropGoogleMapView (lat: controller.resultPosition!.latitude, long: controller.resultPosition!.longitude));
                                                    }
                                                  },
                                                  child: Row(
                                                      mainAxisAlignment:
                                                    MainAxisAlignment.start,
                                                    crossAxisAlignment:
                                                    CrossAxisAlignment.center,
                                                    children: [
                                                      Icon(Icons.location_on, color: ColorConstants.primaryColor,),
                                                      const SizedBox(
                                                        width: 6,
                                                      ),
                                                      Text(
                                                        'Drop',
                                                        style: TextStyle(
                                                            color: ColorConstants.primaryColor,
                                                            fontWeight: FontWeight.bold,
                                                            fontSize: 16),
                                                      ),
                                                    ],
                                                  ),
                                                ),

                                                Spacer(),
                                                // Icon(Icons.edit,color: ColorConstants.primaryColor,),
                                                InkWell(
                                                  onTap:(){
                                                    Get.to(()=> DropCustomerView());
                                                  },
                                                  child: Container(
                                                    padding:const EdgeInsets.only(left: 5,right: 5,top: 5,bottom: 5),
                                                    decoration: BoxDecoration(color: ColorConstants.secondaryColor,border: Border.all(color: Colors.grey[400]!),borderRadius: BorderRadius.circular(5)),
                                                    child: Text(
                                                      'Saved address',
                                                      style: TextStyle(
                                                          color: ColorConstants.darkGreyColor,
                                                          fontWeight: FontWeight.bold,
                                                          fontSize: 15),
                                                    ),
                                                  ),
                                                ),
                                                const SizedBox(
                                                  width: 6,
                                                ),

                                              ],
                                            ),
                                          ),
                                          // Padding(
                                          //   padding: const EdgeInsets.only(left: 5,top: 5,bottom: 0,right: 5),
                                          //   child: Column(
                                          //     mainAxisAlignment:
                                          //     MainAxisAlignment.center,
                                          //     crossAxisAlignment:
                                          //     CrossAxisAlignment.center,
                                          //     children: [
                                          //       TextField(
                                          //         controller: tenantDropCustomerController.searchController,
                                          //         textAlignVertical: TextAlignVertical.center,
                                          //         // focusNode: controller.focusNode,
                                          //         onChanged: (data){
                                          //           var keyword = data;
                                          //           print('keyword................${keyword}');
                                          //           if(data.isEmpty){
                                          //             tenantDropCustomerController.getCustomerBytenantId.clear();
                                          //             tenantDropCustomerController.update();
                                          //           }
                                          //          else {
                                          //           // if(data.isNotEmpty) {
                                          //             tenantDropCustomerController.shimmer.value = true;
                                          //             tenantDropCustomerController.getSearchCustomerData(keyword);
                                          //
                                          //           }
                                          //           // else{
                                          //           //   tenantDropCustomerController.shimmer.value = true;
                                          //           //   tenantDropCustomerController.refreshData();
                                          //           //   FocusScope.of(context).unfocus();
                                          //           // }
                                          //
                                          //         },
                                          //       onTap:(){
                                          //         if (listScrollController.hasClients) {
                                          //           final position =
                                          //               listScrollController.position.minScrollExtent +
                                          //                   300;
                                          //           listScrollController.animateTo(
                                          //             position,
                                          //             duration: const Duration(seconds: 1),
                                          //             curve: Curves.easeOut,
                                          //           );
                                          //         }
                                          //       },
                                          //         decoration: InputDecoration(
                                          //           border: OutlineInputBorder(
                                          //               borderRadius: BorderRadius.all(Radius.circular(2)),
                                          //               borderSide: BorderSide(
                                          //                   width: 1.5,
                                          //                   color: Colors.grey[300]!)),
                                          //           enabledBorder: OutlineInputBorder(
                                          //               borderRadius: BorderRadius.all(Radius.circular(2)),
                                          //               borderSide: BorderSide(
                                          //                   width: 1.5,
                                          //                   color: Colors.grey[300]!)),
                                          //           focusedBorder: OutlineInputBorder(
                                          //               borderRadius: BorderRadius.all(Radius.circular(2)),
                                          //               borderSide: BorderSide(
                                          //                   width: 1.5,
                                          //                   color: Colors.grey[300]!)),
                                          //           disabledBorder: OutlineInputBorder(
                                          //               borderRadius: BorderRadius.all(Radius.circular(2)),
                                          //               borderSide: BorderSide(width: 1, color: Colors.grey.shade50)),
                                          //           prefixIcon: IconButton(
                                          //             icon: const Icon(Icons.search),
                                          //             color: Colors.grey[500]!,
                                          //             onPressed: () {
                                          //
                                          //             },
                                          //           ),
                                          //           hintText: 'Search by contactno',
                                          //           hintStyle: TextStyle(
                                          //             color: Colors.grey[500]!,
                                          //
                                          //
                                          //           ),
                                          //           suffixIcon: tenantDropCustomerController.searchController.text.isEmpty ? const SizedBox() : IconButton(
                                          //             icon: const Icon(Icons.cancel),
                                          //             color: Colors.grey[500]!,
                                          //             onPressed: () {
                                          //               tenantDropCustomerController.searchController.clear();
                                          //               tenantDropCustomerController.shimmer.value = true;
                                          //               tenantDropCustomerController.getCustomerBytenantId.clear();
                                          //               // tenantPickupCustomerController.refreshData();
                                          //               FocusManager.instance.primaryFocus?.unfocus();
                                          //             },
                                          //           ),
                                          //         ),
                                          //       ),
                                          //     ],
                                          //   ),
                                          // ),
                                          // tenantDropCustomerController.getCustomerBytenantId.isNotEmpty
                                          //     ? Container(
                                          //     height: Get.height*0.20,
                                          //     width: Get.width,
                                          //     decoration: BoxDecoration(color: ColorConstants.secondaryColor,borderRadius: BorderRadius.circular(1)),
                                          //     child: Obx(() {
                                          //       return ListView.builder(
                                          //           itemCount: tenantDropCustomerController.getCustomerBytenantId.length,
                                          //           itemBuilder: (
                                          //               BuildContext context,
                                          //               int index) {
                                          //             return Padding(
                                          //               padding: const EdgeInsets.only(top: 5, left: 5, right: 5,),
                                          //               child: InkWell(
                                          //                 onTap: () async {
                                          //                   createOrderController.dropCustomerId = tenantDropCustomerController.getCustomerBytenantId[index].customerid;
                                          //                   createOrderController.dropCustomerName = "${tenantDropCustomerController.getCustomerBytenantId[index].firstname}" + "${tenantDropCustomerController.getCustomerBytenantId[index].lastname}";
                                          //                   createOrderController.dropCustomerContactNo = tenantDropCustomerController.getCustomerBytenantId[index].contactno;
                                          //                   createOrderController.dropLandMark = tenantDropCustomerController.getCustomerBytenantId[index].landmark;
                                          //                   createOrderController.dropDoorNo = tenantDropCustomerController.getCustomerBytenantId[index].doorno;
                                          //                   createOrderController.dropLocationId = tenantDropCustomerController.getCustomerBytenantId[index].deliverylocationid;
                                          //                   createOrderController.dropTenantLocationId = tenantDropCustomerController.getCustomerBytenantId[index].tenantlocationid;
                                          //                   createOrderController.toLatitude = tenantDropCustomerController.getCustomerBytenantId[index].latitude;
                                          //                   createOrderController.toLongitude = tenantDropCustomerController.getCustomerBytenantId[index].longitude;
                                          //                   createOrderController.toAddress =tenantDropCustomerController.getCustomerBytenantId[index].address;
                                          //
                                          //                   createOrderController.dropAddressController.text = tenantDropCustomerController.getCustomerBytenantId[index].address??'';
                                          //                   createOrderController.dropContactNameController.text = "${tenantDropCustomerController.getCustomerBytenantId[index].firstname}" + "${tenantDropCustomerController.getCustomerBytenantId[index].lastname}";
                                          //                   createOrderController.dropContactNoController.text =  tenantDropCustomerController.getCustomerBytenantId[index].contactno??'';
                                          //                   createOrderController.dropDoorNoController.text = tenantDropCustomerController.getCustomerBytenantId[index].doorno??'';
                                          //                   createOrderController.dropLandMarkController.text = tenantDropCustomerController.getCustomerBytenantId[index].landmark??'';
                                          //                   createOrderController.dropStateController.text = tenantDropCustomerController.getCustomerBytenantId[index].state ??'';
                                          //                   createOrderController.dropCityController.text = tenantDropCustomerController.getCustomerBytenantId[index].city??'' ;
                                          //                   createOrderController.dropSuburbController.text = tenantDropCustomerController.getCustomerBytenantId[index].suburb??'';
                                          //                   createOrderController.dropPostcodeController.text = tenantDropCustomerController.getCustomerBytenantId[index].postcode??'' ;
                                          //
                                          //                   logger.i (createOrderController.pickupCustomerId);
                                          //                   logger.i (createOrderController.dropCustomerId);
                                          //
                                          //                   if(createOrderController.dropCustomerId == createOrderController.pickupCustomerId){
                                          //                     Toast.showToast('Please select different customer it already selected');
                                          //                   }
                                          //
                                          //                   else {
                                          //                     FocusManager.instance.primaryFocus?.unfocus();
                                          //
                                          //                     tenantDropCustomerController.getCustomerBytenantId.clear();
                                          //                     tenantDropCustomerController.searchController.clear();
                                          //                     tenantDropCustomerController.update();
                                          //                     print('ontapgetCustomerBytenantId ${tenantDropCustomerController.getCustomerBytenantId}');
                                          //
                                          //                     // Get.to(CreateOrderView(dropData:tenantPickupCustomerController.getCustomerBytenantId[index], isDashboard: false,pickupSavedAddress: true,));
                                          //
                                          //                   }
                                          //                 },
                                          //                 child: Stack(
                                          //                   children: [
                                          //                     Container(
                                          //                       padding: const EdgeInsets.only(right: 5,top: 10,left: 5,bottom: 10),
                                          //                       margin: const EdgeInsets.only(top: 2,bottom: 2),
                                          //                       decoration: BoxDecoration(
                                          //                         color: ColorConstants.secondaryColor,
                                          //                         border:Border.all(color: ColorConstants.darkGreyColor!),
                                          //                         borderRadius: const BorderRadius.all(Radius.circular(3)),
                                          //                       ),
                                          //                       // height: Get.height * 0.15,
                                          //                       child: Row(
                                          //                         mainAxisAlignment: MainAxisAlignment.start,
                                          //                         crossAxisAlignment: CrossAxisAlignment.center,
                                          //                         children: [
                                          //                           Expanded(
                                          //                               flex: 8,
                                          //                               child: Column(
                                          //                                 crossAxisAlignment:
                                          //                                 CrossAxisAlignment.start,
                                          //                                 mainAxisAlignment:
                                          //                                 MainAxisAlignment.spaceEvenly,
                                          //                                 children: [
                                          //                                   Row(
                                          //                                     children: [
                                          //                                       Icon(
                                          //                                         Icons.person,
                                          //                                         color: ColorConstants.primaryColor,
                                          //                                         size: 20,
                                          //                                       ),
                                          //                                       const SizedBox(
                                          //                                         width: 5,
                                          //                                       ),
                                          //                                       Row(
                                          //                                         children: [
                                          //                                           Text(
                                          //                                             tenantDropCustomerController.getCustomerBytenantId[index].firstname ?? "",
                                          //                                             style: TextStyle(
                                          //                                                 fontSize: 16,
                                          //                                                 color: Colors
                                          //                                                     .grey[600],
                                          //                                                 fontWeight:
                                          //                                                 FontWeight
                                          //                                                     .w600),
                                          //                                           ),
                                          //                                         ],
                                          //                                       ),
                                          //                                       Spacer(),
                                          //                                       Icon(
                                          //                                         Icons.call,
                                          //                                         color: ColorConstants.primaryColor,
                                          //                                         size: 20,
                                          //                                       ),
                                          //                                       const SizedBox(
                                          //                                         width: 5,
                                          //                                       ),
                                          //                                       Text(
                                          //                                         '${tenantDropCustomerController.getCustomerBytenantId[index].contactno}',
                                          //                                         style: TextStyle(
                                          //                                             color: ColorConstants.darkGreyColor,
                                          //                                             fontSize: 14,
                                          //                                             fontWeight:
                                          //                                             FontWeight
                                          //                                                 .bold),
                                          //                                       ),
                                          //                                     ],
                                          //                                   ),
                                          //
                                          //                                 ],
                                          //                               )),
                                          //                         ],
                                          //                       ),
                                          //                     ),
                                          //
                                          //                   ],
                                          //                 ),
                                          //               ),
                                          //             );
                                          //           }
                                          //       );
                                          //     })
                                          // ):SizedBox(),
                                          Padding(
                                            padding: const EdgeInsets.only(left: 5,top: 5,bottom: 0,right: 5),
                                            child: Column(
                                              mainAxisAlignment:
                                              MainAxisAlignment.center,
                                              crossAxisAlignment:
                                              CrossAxisAlignment.center,
                                              children: [
                                                TextField(
                                                  onTap: () async {
                                                    if (listScrollController.hasClients) {
                                                      final position =
                                                          listScrollController.position.minScrollExtent +
                                                              300;
                                                      listScrollController.animateTo(
                                                        position,
                                                        duration: const Duration(seconds: 1),
                                                        curve: Curves.easeOut,
                                                      );
                                                    }

                                                  },
                                                  onChanged: (text) {
                                                    if(text.isEmpty){
                                                      controller.dropPredictions.clear();
                                                      FocusManager.instance.primaryFocus?.unfocus();
                                                      controller.update();
                                                    }
                                                    else {
                                                      controller
                                                          .onSearchDropTextChanged(
                                                          text);
                                                    }
                                                  },
                                                  controller:  controller.dropAddressController,
                                                  maxLines: 2,
                                                  cursorColor: ColorConstants.textFieldColor,
                                                  style: TextStyle(
                                                    color:  ColorConstants.textFieldColor,
                                                    fontSize: 14,
                                                  ),

                                                  decoration: InputDecoration(
                                                      fillColor: Colors.white,
                                                      filled: true,
                                                      // prefixIcon:Icon( Icons.location_on,color: ColorConstants.primaryColor,) ,
                                                      suffixIcon: InkWell(
                                                          onTap: (){
                                                            controller.dropAddressController.clear();
                                                            controller.dropSuburbController.clear();
                                                            controller.dropCityController.clear();
                                                            controller.dropStateController.clear();
                                                            controller.dropPostcodeController.clear();
                                                            controller.dropSaveAddress = false;
                                                            // controller.dropContactNameController.clear();
                                                            // controller.dropContactNoController.clear();
                                                            // controller.dropDoorNoController.clear();
                                                            // controller.dropLandMarkController.clear();
                                                            controller.dropPredictions.clear();
                                                            FocusManager.instance.primaryFocus?.unfocus();
                                                            // dropSavedAddress = false;
                                                            controller.dropExpandedTileController.collapse();

                                                            controller.update();
                                                            print('isDropExpandedTextfield');

                                                          },
                                                          child: Icon(Icons.close,color: Colors.red,)),
                                                      border: OutlineInputBorder(
                                                          borderRadius: BorderRadius.all(Radius.circular(2)),
                                                          borderSide: BorderSide(
                                                              width: 1.5,
                                                              color: Colors.grey[300]!)),
                                                      enabledBorder: OutlineInputBorder(
                                                          borderRadius: BorderRadius.all(Radius.circular(2)),
                                                          borderSide: BorderSide(
                                                              width: 1.5,
                                                              color: Colors.grey[300]!)),
                                                      focusedBorder: OutlineInputBorder(
                                                          borderRadius: BorderRadius.all(Radius.circular(2)),
                                                          borderSide: BorderSide(
                                                              width: 1.5,
                                                              color: Colors.grey[300]!)),
                                                      disabledBorder: OutlineInputBorder(
                                                          borderRadius: BorderRadius.all(Radius.circular(2)),
                                                          borderSide: BorderSide(width: 1, color: Colors.grey.shade50)),
                                                      counterText: "",
                                                      hintText: "Drop address"),
                                                ),
                                              ],
                                            ),
                                          ),
                                          SizedBox(height: 5,)
                                        ],
                                      ),
                                    ),
                                  ),

                                ),
                                Container(
                                  decoration: BoxDecoration(
                                    color: ColorConstants.secondaryColor,
                                    shape: BoxShape.rectangle,
                                    border: Border(right:BorderSide(color: Colors.green[300]!),left:BorderSide(color: Colors.green[300]!),bottom: BorderSide(color: Colors.green[300]!),top:BorderSide(color: Colors.green[300]!)),
                                    // borderRadius: BorderRadius.only(topLeft: Radius.circular(10),topRight:Radius.circular(10) )

                                  ),
                                  child: ExpandedTile(
                                    theme:  ExpandedTileThemeData(
                                      // headerRadius: 24.0,
                                      headerPadding: EdgeInsets.only(left: 5,right: 5,top: 5,bottom: 5),
                                      headerColor: ColorConstants.secondaryColor,
                                      contentBackgroundColor: ColorConstants.secondaryColor,
                                      contentPadding: EdgeInsets.only(left: 5,right: 5,top: 5,bottom: 5),
                                    ),
                                    controller: controller.dropExpandedTileController,
                                    title: Column(
                                      mainAxisAlignment: MainAxisAlignment.start,
                                      crossAxisAlignment: CrossAxisAlignment.start,
                                      children: [
                                        createOrderController.dropPredictions.isNotEmpty?Container(
                                          height: Get.height*0.20,
                                          width: Get.width,
                                          decoration: BoxDecoration(color: ColorConstants.secondaryColor,borderRadius: BorderRadius.circular(1)),
                                          child: Obx(() {
                                            return ListView.builder(
                                              itemCount:  createOrderController.dropPredictions.length,
                                              itemBuilder: (context, index) {
                                                final prediction =
                                                createOrderController.dropPredictions[index]['description'];
                                                return ListTile(
                                                  title: Text(prediction,style: TextStyle(color: ColorConstants.darkGreyColor),),
                                                  onTap: () {
                                                    final placeId =
                                                    createOrderController.dropPredictions[index]['place_id'];
                                                    createOrderController.getDropPlaceDetails(placeId,prediction);
                                                    controller.dropExpandedTileController.expand();
                                                    FocusManager.instance.primaryFocus?.unfocus();
                                                  },
                                                );
                                              },
                                            );

                                          }),):SizedBox(),
                                        createOrderController.dropPredictions.isNotEmpty?SizedBox():Text('Drop details :',style: TextStyle(color: ColorConstants.darkGreyColor,fontSize: 14,fontWeight: FontWeight.bold),),


                                      ],
                                    ),
                                    content: Column(
                                      mainAxisAlignment: MainAxisAlignment.start,
                                      crossAxisAlignment: CrossAxisAlignment.start,
                                      children: <Widget>[
                                        const SizedBox(height: 0,),
                                        Row(
                                          mainAxisAlignment:
                                          MainAxisAlignment.start,
                                          crossAxisAlignment:
                                          CrossAxisAlignment.center,
                                          children: [
                                            SizedBox(width:5),

                                            Container(
                                              height: Get.height * 0.07,
                                              width: Get.width * 0.45,
                                              child: TextField(
                                                  textCapitalization: TextCapitalization.sentences,
                                                inputFormatters: <TextInputFormatter>[
                                                  UpperCaseTextFormatter()
                                                ],

                                                onTap: () async {
                                                },
                                                onChanged: (name){
                                                  print('dropCustomerName $name');
                                                  createOrderController.dropCustomerName = name;
                                                  print('dropContactNameControllerlength ${createOrderController.dropContactNameController.text.length}');
                                                },

                                                controller:  createOrderController.dropContactNameController,
                                                // maxLines: 1,
                                                cursorColor: ColorConstants.textFieldColor,
                                                style: TextStyle(
                                                  color:  ColorConstants.textFieldColor,
                                                  fontSize: 14,
                                                ),
                                                maxLength: 25,

                                                decoration: InputDecoration(
                                                    fillColor: Colors.white,
                                                    filled: true,
                                                    prefixIcon:Icon( Icons.person,color: ColorConstants.darkGreyColor,) ,
                                                    border: OutlineInputBorder(
                                                        borderRadius: BorderRadius.all(Radius.circular(1)),
                                                        borderSide: BorderSide(
                                                            width: 1.5,
                                                            color: Colors.grey[100]!)),
                                                    enabledBorder: OutlineInputBorder(
                                                        borderRadius: BorderRadius.all(Radius.circular(1)),
                                                        borderSide: BorderSide(
                                                            width: 1.5,
                                                            color: Colors.grey[100]!)),
                                                    focusedBorder: OutlineInputBorder(
                                                        borderRadius: BorderRadius.all(Radius.circular(1)),
                                                        borderSide: BorderSide(
                                                            width: 1.5,
                                                            color: Colors.grey[100]!)),
                                                    disabledBorder: OutlineInputBorder(
                                                        borderRadius: BorderRadius.all(Radius.circular(1)),
                                                        borderSide: BorderSide(width: 1, color: Colors.grey.shade50)),
                                                    counterText: "",
                                                    hintText: "Contact name"),
                                              ),
                                            ),
                                            SizedBox(width: 3,),
                                            Container(
                                              height: Get.height * 0.07,
                                              width: Get.width * 0.45,
                                              child: TextField(
                                                onChanged: (contactNo){
                                                  createOrderController.dropCustomerContactNo = contactNo;

                                                  createOrderController.dropCustomerContactNo = contactNo;
                                                  createOrderController.dropCustomerContactNoCheck = createOrderController.dropCustomerContactNo;
                                                  if(createOrderController.dropCustomerContactNoCheck == createOrderController.dropCustomerContactNo){
                                                    controller.dropSaveAddress = true;
                                                    if(contactNo.length==10){
                                                      FocusManager.instance.primaryFocus?.unfocus();
                                                    }
                                                  }
                                                  // else if(contactNo.length==10){
                                                  //   FocusManager.instance.primaryFocus?.unfocus();
                                                  // }
                                                },
                                                keyboardType: TextInputType.number,

                                                controller:  createOrderController.dropContactNoController,
                                                // maxLines: 1,
                                                cursorColor: ColorConstants.textFieldColor,
                                                style: TextStyle(
                                                  color:  ColorConstants.textFieldColor,
                                                  fontSize: 14,
                                                ),
                                                maxLength: 10,
                                                decoration: InputDecoration(
                                                    fillColor: Colors.white,
                                                    filled: true,
                                                    prefixIcon:Icon( Icons.phone,color: ColorConstants.darkGreyColor,) ,
                                                    border: OutlineInputBorder(
                                                        borderRadius: BorderRadius.all(Radius.circular(1)),
                                                        borderSide: BorderSide(
                                                            width: 1.5,
                                                            color: Colors.grey[100]!)),
                                                    enabledBorder: OutlineInputBorder(
                                                        borderRadius: BorderRadius.all(Radius.circular(1)),
                                                        borderSide: BorderSide(
                                                            width: 1.5,
                                                            color: Colors.grey[100]!)),
                                                    focusedBorder: OutlineInputBorder(
                                                        borderRadius: BorderRadius.all(Radius.circular(1)),
                                                        borderSide: BorderSide(
                                                            width: 1.5,
                                                            color: Colors.grey[100]!)),
                                                    disabledBorder: OutlineInputBorder(
                                                        borderRadius: BorderRadius.all(Radius.circular(1)),
                                                        borderSide: BorderSide(width: 1, color: Colors.grey.shade50)),
                                                    counterText: "",
                                                    hintText: "Contact no"),
                                              ),
                                            ),

                                          ],
                                        ),
                                        const SizedBox(height: 5,),
                                        Row(
                                          mainAxisAlignment:
                                          MainAxisAlignment.start,
                                          crossAxisAlignment:
                                          CrossAxisAlignment.center,
                                          children: [
                                            SizedBox(width:5),
                                            Container(
                                              height: Get.height * 0.07,
                                              width: Get.width * 0.45,
                                              child: TextField(

                                                onTap: () async {
                                                },
                                                maxLength: 25,

                                                onChanged: (doorno){
                                                  print('dropDoorNo $doorno');
                                                  createOrderController.dropDoorNo = doorno;
                                                },

                                                controller:  createOrderController.dropDoorNoController,
                                                // maxLines: 1,
                                                cursorColor: ColorConstants.textFieldColor,
                                                style: TextStyle(
                                                  color:  ColorConstants.textFieldColor,
                                                  fontSize: 14,
                                                ),

                                                decoration: InputDecoration(
                                                    fillColor: Colors.white,
                                                    filled: true,
                                                    prefixIcon:Icon( Icons.door_back_door_outlined,color: ColorConstants.darkGreyColor,) ,
                                                    border: OutlineInputBorder(
                                                        borderRadius: BorderRadius.all(Radius.circular(1)),
                                                        borderSide: BorderSide(
                                                            width: 1.5,
                                                            color: Colors.grey[100]!)),
                                                    enabledBorder: OutlineInputBorder(
                                                        borderRadius: BorderRadius.all(Radius.circular(1)),
                                                        borderSide: BorderSide(
                                                            width: 1.5,
                                                            color: Colors.grey[100]!)),
                                                    focusedBorder: OutlineInputBorder(
                                                        borderRadius: BorderRadius.all(Radius.circular(1)),
                                                        borderSide: BorderSide(
                                                            width: 1.5,
                                                            color: Colors.grey[100]!)),
                                                    disabledBorder: OutlineInputBorder(
                                                        borderRadius: BorderRadius.all(Radius.circular(1)),
                                                        borderSide: BorderSide(width: 1, color: Colors.grey.shade50)),
                                                    counterText: "",
                                                    hintText: "House / Door no"),
                                              ),
                                            ),
                                            SizedBox(width: 3,),
                                            Container(
                                              height: Get.height * 0.07,
                                              width: Get.width * 0.45,
                                              child: TextField(

                                                onTap: () async {
                                                },
                                                maxLength: 25,

                                                onChanged: (landmark){
                                                  print('dropLandMark $landmark');
                                                  createOrderController.dropLandMark = landmark;
                                                },

                                                controller:  createOrderController.dropLandMarkController,
                                                // maxLines: 1,
                                                cursorColor: ColorConstants.textFieldColor,
                                                style: TextStyle(
                                                  color:  ColorConstants.textFieldColor,
                                                  fontSize: 14,
                                                ),

                                                decoration: InputDecoration(
                                                    fillColor: Colors.white,
                                                    filled: true,
                                                    prefixIcon:Icon( Icons.house,color: ColorConstants.darkGreyColor,) ,
                                                    border: OutlineInputBorder(
                                                        borderRadius: BorderRadius.all(Radius.circular(1)),
                                                        borderSide: BorderSide(
                                                            width: 1.5,
                                                            color: Colors.grey[100]!)),
                                                    enabledBorder: OutlineInputBorder(
                                                        borderRadius: BorderRadius.all(Radius.circular(1)),
                                                        borderSide: BorderSide(
                                                            width: 1.5,
                                                            color: Colors.grey[100]!)),
                                                    focusedBorder: OutlineInputBorder(
                                                        borderRadius: BorderRadius.all(Radius.circular(1)),
                                                        borderSide: BorderSide(
                                                            width: 1.5,
                                                            color: Colors.grey[100]!)),
                                                    disabledBorder: OutlineInputBorder(
                                                        borderRadius: BorderRadius.all(Radius.circular(1)),
                                                        borderSide: BorderSide(width: 1, color: Colors.grey.shade50)),
                                                    counterText: "",
                                                    hintText: "Landmark"),
                                              ),
                                            ),
                                          ],
                                        ),
                                        const SizedBox(height: 10,),
                                        Row(
                                          mainAxisAlignment: MainAxisAlignment.start,
                                          crossAxisAlignment: CrossAxisAlignment.end,
                                          children: [
                                            SizedBox(width: 5,),
                                            !controller.dropSaveAddress?Container():InkWell(
                                              onTap:(){
                                                if( controller.dropAddressController.text.isEmpty){
                                                  Toast.showToast('Drop address should not be empty');
                                                }
                                                else if( controller.dropContactNameController.text.isEmpty){

                                                  Toast.showToast('Drop customer name should not be empty');
                                                }
                                                else if( controller.dropContactNoController.text.isEmpty){

                                                  Toast.showToast('Drop customer no should not be empty');
                                                }
                                                else if( controller.dropContactNoController.text.length!=10){

                                                  Toast.showToast('Please enter correct drop customer no');
                                                }
                                                // else if( controller.dropContactNameController.text.length!=3){
                                                //   Toast.showToast('Drop customer name should be minimum 3 characters required');
                                                // }
                                                else {
                                                  // controller.dropSaveAddress = true;
                                                  // controller.dropCustomerId = 0;
                                                }

                                              },
                                              child:  !controller.dropSaveAddress?Container():Row(
                                                children: [
                                                  InkWell(
                                                    onTap: (){
                                                      dropSave();
                                                    },
                                                    child: Container(height: 21,width: 22,
                                                      decoration: BoxDecoration(borderRadius: BorderRadius.circular(3),color: controller.dropSaveChecking==true?Colors.green:Colors.white,border: Border.all(
                                                          color: controller.dropSaveChecking?Colors.green:Colors.grey[400]!
                                                      )
                                                      ),
                                                      child:controller.dropSaveChecking ==true?const Icon(Icons.check,color: Colors.white,size: 19,):const SizedBox(),
                                                    ),
                                                  ),
                                                  SizedBox(width: 10,),
                                                  Text('Save for later',style: TextStyle(color:ColorConstants.primaryColor),),
                                                ],
                                              ),
                                            ),
                                            Spacer(),
                                            InkWell(
                                              onTap:(){
                                                controller.dropExpandedTileController.collapse();

                                              },
                                              child: Container(
                                                padding: const EdgeInsets.only(left: 20,bottom: 7,top: 7,right:20),
                                                decoration: BoxDecoration(color:ColorConstants.primaryColor,borderRadius: BorderRadius.circular(5)),
                                                child: Text('Ok',style: TextStyle(color:ColorConstants.secondaryColor),),
                                              ),
                                            ),
                                            SizedBox(width:5)
                                          ],
                                        ),
                                        const SizedBox(height: 5,),
                                      ],
                                    ),
                                    onTap: () {
                                      if (listScrollController.hasClients) {
                                        final position =
                                            listScrollController.position.minScrollExtent +
                                                300;
                                        listScrollController.animateTo(
                                          position,
                                          duration: const Duration(seconds: 1),
                                          curve: Curves.easeOut,
                                        );
                                      }

                                      debugPrint("drop tapped!!");
                                    },
                                    onLongTap: () {
                                      debugPrint("long tapped!!");
                                    },

                                  ),
                                ),

                              ],
                            ),



                          ],
                        ),
                      ),
                      SizedBox(height: 10,),
                      Container(
                        height: Get.height*0.55,
                        child:controller.loader?shimmer(): Column(
                          mainAxisAlignment: MainAxisAlignment.start,
                          crossAxisAlignment: CrossAxisAlignment.start,
                          children: [
                            Padding(
                              padding: const EdgeInsets.only(left: 15),
                              child: Text('Pickup time :',style: TextStyle(color: ColorConstants.primaryColor,fontSize: 16,fontWeight: FontWeight.bold),),
                            ),
                            Padding(
                              padding: const EdgeInsets.only(left: 25,top: 15),
                              child:
                              Container(
                                height:Get.height*0.04,
                                child: controller.scheduleType!=null?controller.scheduleType =='Now'?Padding(
                                  padding: const EdgeInsets.only(left: 10),
                                  child: Row(
                                    children: [
                                      InkWell(
                                        onTap:(){
                                          // timeSheet(context);
                                        },
                                        child: Container(
                                          // width: Get.width*0.50,
                                          padding: EdgeInsets.only(right: 10,left: 10,top: 6,bottom: 6),
                                          decoration: BoxDecoration(color: ColorConstants.secondaryColor,borderRadius: BorderRadius.circular(5),border: Border.all(color: ColorConstants.primaryColor)),
                                          child:Center(
                                              child:
                                              // Text("Pickup time : ${DateFormat("hh:mm a").format(DateFormat("yyyy-MM-dd HH:mm:ss").parse(controller.datetime.toString()))}",style: TextStyle(color:  ColorConstants.darkGreyColor,fontSize: 16,fontWeight: FontWeight.bold),)
                                              Text("Now",style: TextStyle(color:  ColorConstants.darkGreyColor,fontSize: 16,fontWeight: FontWeight.bold),)

                                          ),

                                        ),
                                      ),
                                      SizedBox(width: 10,),
                                      InkWell(
                                        onTap:(){
                                          controller.scheduleType=null;
                                          controller.scheduleIndex = -1;
                                          controller.datetime = DateTime.now();
                                          controller.selectedDate = DateTime.now();
                                          controller.main();
                                        },
                                        child: Center(child: Icon(Icons.refresh_rounded,color:ColorConstants.primaryColor)),
                                      )
                                    ],
                                  ),
                                ):Row(
                                  children: [
                                    Text("Pickup time :",style: TextStyle(color:  ColorConstants.darkGreyColor,fontSize: 16,fontWeight: FontWeight.bold),),
                                    SizedBox(width: 5,),
                                    InkWell(
                                      onTap:(){
                                        dateSheet(context);
                                      },
                                      child: Container(
                                        width: Get.width*0.24,
                                        padding: EdgeInsets.only(right: 5,left: 5,top: 6,bottom: 6),
                                        decoration: BoxDecoration(color: ColorConstants.secondaryColor,borderRadius: BorderRadius.circular(5),border: Border.all(color: ColorConstants.primaryColor)),
                                        child: Text("${
                                            DateFormat("dd-MM-yyyy").format(DateFormat("yyyy-MM-dd").parse(controller.selectedDate.toString()))
                                        }",style: TextStyle(color:  ColorConstants.darkGreyColor,fontSize: 16,fontWeight: FontWeight.bold),),
                                      ),
                                    ),
                                    SizedBox(width: 5,),
                                    InkWell(
                                      onTap:(){
                                        timeSheet(context);
                                      },
                                      child: Container(
                                        width: Get.width*0.20,
                                        padding: EdgeInsets.only(right: 5,left: 5,top: 6,bottom: 6),
                                        decoration: BoxDecoration(color: ColorConstants.secondaryColor,borderRadius: BorderRadius.circular(5),border: Border.all(color: ColorConstants.primaryColor)),
                                        child: Text("${
                                            DateFormat("hh:mm a").format(DateFormat("yyyy-MM-dd HH:mm:ss").parse(controller.datetime.toString()))
                                        }",style: TextStyle(color:  ColorConstants.darkGreyColor,fontSize: 16,fontWeight: FontWeight.bold),),
                                      ),
                                    ),
                                    SizedBox(width: 10,),
                                    InkWell(
                                      onTap:(){
                                        controller.scheduleType=null;
                                        controller.scheduleIndex = -1;
                                        controller.datetime = DateTime.now();
                                        controller.selectedDate = DateTime.now();
                                        controller.main();
                                      },
                                      child: Center(child: Icon(Icons.refresh_rounded,color:ColorConstants.primaryColor)),
                                    )
                                  ],
                                ):ListView.builder(
                                  padding: EdgeInsets.only(left: 0),
                                  scrollDirection: Axis.horizontal,
                                  physics: ScrollPhysics(),
                                  itemCount: controller.schedule.length,
                                  itemBuilder: (BuildContext context, int index) {
                                    return InkWell(
                                        onTap: (){
                                          controller.scheduleIndex = index;
                                          controller.scheduleType = controller.schedule[index]['scheduleType'];

                                          print('scheduleTypeonTap ${controller.scheduleType}');

                                          if(controller.scheduleType == 'Now'){
                                            if (listScrollController.hasClients) {
                                              final position =
                                                  listScrollController.position.maxScrollExtent +
                                                      300;
                                              listScrollController.animateTo(
                                                position,
                                                duration: const Duration(seconds: 1),
                                                curve: Curves.easeOut,
                                              );
                                            }
                                            // timeSheet(context);
                                          }
                                          else{
                                            if (listScrollController.hasClients) {
                                              final position =
                                                  listScrollController.position.maxScrollExtent +
                                                      300;
                                              listScrollController.animateTo(
                                                position,
                                                duration: const Duration(seconds: 1),
                                                curve: Curves.easeOut,
                                              );
                                            }
                                            dateSheet(context);
                                          }
                                          controller.update();
                                        },
                                        child: Padding(
                                          padding: const EdgeInsets.only(left: 10),
                                          child: Container(
                                            padding: EdgeInsets.only(right: 15,left: 15,top: 6,bottom: 6),
                                            decoration: BoxDecoration(color: controller.scheduleIndex == index?ColorConstants.primaryColor:Colors.grey[300],borderRadius: BorderRadius.circular(5)),
                                            child:Center(
                                                child:
                                                Text("${controller.schedule[index]['scheduleType']}",style: TextStyle(color:  controller.scheduleIndex ==index?ColorConstants.secondaryColor:ColorConstants.darkGreyColor,fontSize: 16,fontWeight: FontWeight.bold),)
                                            ),

                                          ),
                                        )
                                    );
                                  },
                                ),
                              ),
                            ),
                            Padding(
                              padding: const EdgeInsets.only(left: 15,top: 20),
                              child: Text('Weight :',style: TextStyle(color: ColorConstants.primaryColor,fontSize: 16,fontWeight: FontWeight.bold),),
                            ),
                            Padding(
                              padding: const EdgeInsets.only(left: 25,top: 15),
                              child: Container(
                                height: Get.height*0.04,
                                child: ListView.builder(
                                 scrollDirection: Axis.horizontal,
                                  itemCount: controller.weightRange.length,
                                  itemBuilder: (BuildContext context, int index) {
                                    return InkWell(
                                        onTap: (){
                                          controller.weightSelectedIndex = index;
                                          controller.weight = controller.weightRange[index]['weight'];
                                          print('deliveryDetailsControllerweightRange${controller.weight}');
                                          controller.update();
                                        },
                                        child:Padding(
                                          padding: const EdgeInsets.only(left: 10),
                                          child: Container(
                                            padding: EdgeInsets.only(right: 15,left: 15,top: 6,bottom: 6),
                                            decoration: BoxDecoration(color:  controller.weightSelectedIndex == index?ColorConstants.secondaryColor:Colors.grey[300],borderRadius: BorderRadius.circular(5),border: Border.all(color: controller.weightSelectedIndex == index?ColorConstants.primaryColor:Colors.grey[300]!)),
                                            child: Column(
                                              children: [
                                                Center(child: Text(controller.weightRange[index]['weight'],style: TextStyle(color: controller.weightSelectedIndex == index?ColorConstants.darkGreyColor:ColorConstants.darkGreyColor,fontSize: 15,fontWeight: FontWeight.bold),)),
                                              ],
                                            ),
                                          ),
                                        )
                                    );
                                  }, ),
                              ),
                            ),
                            Padding(
                              padding: const EdgeInsets.only(left: 15,top: 20),
                              child: Text('Item category :',style: TextStyle(color: ColorConstants.primaryColor,fontSize: 16,fontWeight: FontWeight.bold),),
                            ),
                            Padding(
                              padding: const EdgeInsets.only(left: 25,top: 15),
                              child: Container(
                                height: Get.height*0.05,
                                child: InkWell(
                                  onTap: (){
                                    showModalBottomSheet(
                                        isDismissible: true,
                                        shape: RoundedRectangleBorder(
                                          borderRadius: BorderRadius.only(
                                              topLeft: Radius.circular(15.0), topRight: Radius.circular(15)),
                                        ),
                                        context: context,
                                        builder: (builder) {
                                          return Container(
                                            height: Get.height,
                                            child:Column(
                                              mainAxisAlignment: MainAxisAlignment.start,
                                              crossAxisAlignment: CrossAxisAlignment.start,
                                              children: [
                                                Padding(
                                                  padding: const EdgeInsets.only(top: 10,left: 10),
                                                  child: Text('Select categories :',style: TextStyle(color: ColorConstants.primaryColor,fontSize: 18,fontWeight: FontWeight.bold,),),
                                                ),
                                                SizedBox(height: 20,),

                                                Expanded(
                                                  child: GridView.builder(
                                                      itemCount: controller.subCategoryLists.length,
                                                      gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
                                                        crossAxisCount: 1,
                                                        crossAxisSpacing: 4,
                                                        mainAxisSpacing: 4,
                                                        childAspectRatio: 8.5,
                                                      ),
                                                      itemBuilder: (
                                                          context,
                                                          index,
                                                          ) {
                                                        print('subCategoryListslengthinview${controller.subCategoryLists.length}');
                                                        return InkWell(
                                                          onTap: () {
                                                            controller.catSelectedIndex = index;
                                                            controller.subCatId =(controller.subCategoryLists[index].subcategoryid);
                                                            controller.subCatName =(controller.subCategoryLists[index].subcategoryname);
                                                            controller.update();
                                                            print('SubCategoryListSubcategoryid ${controller.subCategoryLists[index].subcategoryid}');
                                                            print('SubCategoryListSubcategoryname ${controller.subCategoryLists[index].subcategoryname}');
                                                            Get.back();
                                                            // Navigator.pop(context);
                                                          },
                                                          child:
                                                          Stack(
                                                            children: [
                                                              Row(
                                                                children: [
                                                                  SizedBox(
                                                                    width: 15,
                                                                  ),
                                                                  // Text(
                                                                    // '${controller.subCategoryLists[index].subcategoryname}',style: TextStyle(fontSize: 17,fontWeight: FontWeight.bold,),),
                                                                ],
                                                              ),
                                                              controller.subCategoryLists[index].subcategoryid == controller.subCatId
                                                                  ? Positioned(
                                                                  right: 10,
                                                                  top: 8,
                                                                  child: Icon(
                                                                    Icons.check_circle_outline,
                                                                    color: Colors.green,
                                                                  ))
                                                                  : Positioned(
                                                                  right: 10,
                                                                  top: 8,
                                                                  child: Icon(
                                                                    Icons.check_circle_outline,
                                                                    color: Colors.grey[400],
                                                                  ))
                                                            ],
                                                          ),
                                                        );
                                                      }),
                                                ),
                                              ],
                                            ),
                                          );
                                        });

                                  },
                                  child: Row(
                                    mainAxisAlignment: MainAxisAlignment.start,
                                    crossAxisAlignment: CrossAxisAlignment.start,
                                    children: [
                                      Padding(
                                        padding: const EdgeInsets.only(top: 0,left: 10),
                                        child: Column(
                                          mainAxisAlignment: MainAxisAlignment.start,
                                          crossAxisAlignment: CrossAxisAlignment.start,
                                          children: [
                                            controller.subCatName==null?
                                            Container(
                                                padding: EdgeInsets.only(left: 10,right: 10,top: 10,bottom: 10),
                                                decoration: BoxDecoration(color: ColorConstants.secondaryColor,borderRadius: BorderRadius.circular(10),border: Border.all(color:ColorConstants.primaryColor)),
                                                child: Center(
                                                    child: Text("${controller.subcategoryName}" ??"",style: TextStyle(fontSize: 15,color:ColorConstants.darkGreyColor,fontWeight: FontWeight.bold)))):
                                            Container(
                                              // height:Get.height*0.04,
                                              // width: Get.width*0.3,
                                                padding: EdgeInsets.only(left: 10,right: 10,top: 10,bottom: 10),
                                                decoration: BoxDecoration(color: ColorConstants.secondaryColor,borderRadius: BorderRadius.circular(10),border: Border.all(color:ColorConstants.primaryColor)),
                                                child: Center(
                                                    child: Text("${controller.subCatName}" ??"",style: TextStyle(fontSize: 15,color:ColorConstants.darkGreyColor,fontWeight: FontWeight.bold)))),
                                          ],
                                        ),
                                      )
                                    ],
                                  ),
                                ),

                              ),
                            ),

                            Column(
                              children: [
                                Row(
                                  mainAxisAlignment: MainAxisAlignment.start,
                                  crossAxisAlignment: CrossAxisAlignment.start,
                                  children: [
                                    Padding(
                                      padding: const EdgeInsets.only(left: 10,top: 20),
                                      child: Text('Instructions :',style: TextStyle(color: ColorConstants.primaryColor,fontSize: 16,fontWeight: FontWeight.bold),),
                                    ),
                                  ],
                                ),
                                const SizedBox(
                                  height: 10,
                                ),
                                Padding(
                                  padding: const EdgeInsets.only(top: 5,left: 10,right: 10,bottom: 5),
                                  child: Column(
                                    mainAxisAlignment: MainAxisAlignment.start,
                                    crossAxisAlignment: CrossAxisAlignment.start,
                                    children: [
                                      TextField(
                                        decoration: InputDecoration(
                                            fillColor: Colors.white,
                                            filled: true,
                                            border: OutlineInputBorder(
                                                borderRadius: BorderRadius.all(Radius.circular(6)),
                                                borderSide: BorderSide(
                                                    width: 1.5,
                                                    color: Colors.grey[300]!)),
                                            enabledBorder: OutlineInputBorder(
                                                borderRadius: BorderRadius.all(Radius.circular(6)),
                                                borderSide: BorderSide(
                                                    width: 1.5,
                                                    color: Colors.grey[300]!)),
                                            focusedBorder: OutlineInputBorder(
                                                borderRadius: BorderRadius.all(Radius.circular(6)),
                                                borderSide: BorderSide(
                                                    width: 1.5,
                                                    color: Colors.grey[300]!)),
                                            disabledBorder: OutlineInputBorder(
                                                borderRadius: BorderRadius.all(Radius.circular(6)),
                                                borderSide: BorderSide(width: 1, color: Colors.grey.shade50)),
                                            counterText: "",
                                            hintText: "Instructions if any?"),
                                        controller: createOrderController.tecNotes,
                                        keyboardType: TextInputType.text,
                                        maxLines: 3,
                                        maxLength: 180,
                                        onChanged: (notes) {
                                          // widget.model.Ordernotes = notes;
                                        },
                                      ),

                                    ],
                                  ),
                                ),
                              ],
                            ),
                          ],
                        ),
                      ),

                    ],
                  ),
                ],
              ),
              bottomNavigationBar: SizedBox(
                height: Get.height*0.08,
                child:  Row(
                  mainAxisAlignment: MainAxisAlignment.center,
                  crossAxisAlignment: CrossAxisAlignment.start,
                  children: [
                    Center(
                        child: Padding(
                          padding: const EdgeInsets.only(bottom: 11,top: 0),
                          child: RoundedButton(
                            onPressed: () {
                              if(controller.timeSlotsnew.isEmpty){
                                AwesomeDialog(
                                  context: Get.context!,
                                  dialogType: DialogType.error,
                                  //animType: AnimType.BOTTOMSLIDE,
                                  descTextStyle: const TextStyle(fontSize: 16,),

                                  title: 'Warning',
                                  desc: 'We are unable to process the order at this time. Kindly schedule it for an other day.',
                                  dismissOnTouchOutside: false,
                                  // btnCancelOnPress: () {
                                  // },
                                  btnOkOnPress: () {
                                    Get.to(()=>CreateOrderView( isDashboard: isDashboard,));

                                  },
                                ).show();

                                controller.btnController.reset();

                              }
                              else {
                                controller.describeValidation();
                              }
                            },
                            color:ColorConstants.primaryColor,
                            title: 'Proceed',
                            controller: createOrderController.btnController,
                            textStyle: const TextStyle(
                                fontSize: 18,
                                fontFamily: "Lato",
                                color: Colors.white,
                                fontWeight: FontWeight.bold),
                            height: Get.height*0.06,
                            width: Get.width*0.8,
                          ),
                        )),
                  ],
                ),

              ),

            ),
          );
        }
    );
  }

  dateSheet(context) async{

    DateTime? picked = await showDatePicker(

      context: context,
      initialDate: createOrderController.selectedDate,

      firstDate: DateTime(2000),
      lastDate: DateTime(2101),
      builder: (context, child) {
        return GestureDetector(
          onTap: () {
            FocusManager.instance.primaryFocus?.unfocus();
          },
          child: Theme(
            data: Theme.of(context).copyWith(
              colorScheme: ColorScheme.light(
                primary: ColorConstants.primaryColor,
                onPrimary: ColorConstants.secondaryColor!,
                onSurface: Colors.black,
              ),
              // backgroundColor: ColorConstants.secondaryColor,
              dialogBackgroundColor: ColorConstants.secondaryColor,

              textButtonTheme: TextButtonThemeData(
                style: TextButton.styleFrom(
                  // backgroundColor: ColorConstants.primaryColor,
                  // Colors.red,
                ),
              ),
            ),
            child: GestureDetector(
                onTap: () {
                  FocusManager.instance.primaryFocus?.unfocus();
                },
                child: child!),
          ),
        );
      },


    );

    if (picked != null && picked != createOrderController.selectedDate) {
      createOrderController.selectedDate = picked;
      createOrderController.datetime = picked;
      createOrderController.timeSelectIndex = -1;
      createOrderController.main();
      createOrderController.update();


    }
  }

  timeSheet(context) {
    showModalBottomSheet(
        isDismissible: true,
        shape: RoundedRectangleBorder(
          borderRadius: BorderRadius.only(
              topLeft: Radius.circular(15.0), topRight: Radius.circular(15)),
        ),
        context: context,
        builder: (builder) {
          return Padding(
            padding: const EdgeInsets.only(left: 8,right: 10),
            child: Container(
              height: Get.height*0.40,
              child: Column(
                crossAxisAlignment: CrossAxisAlignment.center,
                mainAxisAlignment: MainAxisAlignment.center,
                children: [
                  SizedBox(height: 5,),
                  createOrderController.timeSlotsnew.isEmpty?
                  Center(
                      child: Column(
                        mainAxisAlignment: MainAxisAlignment.center,
                        crossAxisAlignment: CrossAxisAlignment.center,
                        children: [
                          Image(
                            height: 160,
                            width: 160,
                            image: AssetImage(AssetConstants.NoRecords),
                          ),
                          SizedBox(
                            height: 8,
                          ),
                          Text('No slots available at this time',style: TextStyle(fontSize: 16,fontWeight: FontWeight.bold,color: Colors.grey[600]),),
                        ],
                      )
                  )
                      : Expanded(
                    child: GetBuilder<CreateOrderController>(
                        builder: (controller) {
                          return Column(
                            mainAxisAlignment: MainAxisAlignment.start,
                            crossAxisAlignment: CrossAxisAlignment.start,
                            children: [
                              Padding(
                                padding: const EdgeInsets.only(top: 10,left: 10),
                                child: Text('Select pickuptime :',style: TextStyle(fontSize: 16,fontWeight: FontWeight.bold,color: Colors.grey[600]),),
                              ),
                              SizedBox(height: 15,),
                              Container(
                                height: Get.height*0.32,
                                child: GridView.builder(
                                  scrollDirection: Axis.vertical,
                                  shrinkWrap: true,
                                  padding: EdgeInsets.symmetric(horizontal: 5),
                                  itemCount: controller.timeSlotsnew.length,
                                  itemBuilder: (ctx, index) {
                                    print('deliveryTime..........${controller.timeSlotsnew.length}');
                                    return Container(
                                      height: Get.height*0.06,
                                      width: Get.width*0.3,
                                      child: InkWell(
                                        onTap: (){
                                          controller.timeSelectIndex = index;
                                          controller.datetime = DateTime.parse(controller.timeSlotsnew[index].toString());
                                          controller.update();
                                          Get.back();
                                          print('deliveryTime................${controller.datetime}');
                                        },
                                        child: Card(
                                          color: controller.timeSelectIndex == index?
                                          ColorConstants.primaryColor1 :
                                          Colors.grey[100],
                                          elevation: 2,
                                          child: Center(child: Text('${DateFormat("hh.mm a").format(DateFormat("yyyy-MM-dd HH:mm:ss").parse(controller.timeSlotsnew[index]))}',style: TextStyle(fontSize: 14,fontWeight: FontWeight.bold),)),
                                        ),
                                      ),
                                    );
                                  },
                                  gridDelegate:
                                  SliverGridDelegateWithFixedCrossAxisCount(
                                    crossAxisCount: 3,
                                    childAspectRatio: 2.0,
                                    crossAxisSpacing: 0.0,
                                    mainAxisSpacing: 1,
                                    mainAxisExtent: 50,
                                  ),
                                ),
                              ),
                            ],
                          );
                        }
                    ),
                  ),
                ],
              ),
            ),
          );
        });
  }
  bool pickupSave() {
    createOrderController.update();
    createOrderController.pikUpSaveChecking = !createOrderController.pikUpSaveChecking;
    print('pikUpSaveCheckingpickupSave ${ createOrderController.pikUpSaveChecking}');
    return createOrderController.pikUpSaveChecking;
  }

  bool dropSave() {
    createOrderController.update();
    createOrderController.dropSaveChecking = !createOrderController.dropSaveChecking;
    print('dropSaveCheckingCheckingdropSave ${ createOrderController.dropSaveChecking}');

    return createOrderController.dropSaveChecking;
  }

  shimmer(){
    return Container(
      height: Get.height*0.55,
      child: Shimmer.fromColors(
        enabled: true,
        highlightColor: ColorConstants.lightGreyBg!,
        baseColor: Colors.grey[300]!,
        child: Column(
          mainAxisAlignment: MainAxisAlignment.start,
          crossAxisAlignment: CrossAxisAlignment.start,
          children: [
            Padding(
              padding: const EdgeInsets.only(left: 15),
              child: Text('Pickup time :',style: TextStyle(color: ColorConstants.primaryColor,fontSize: 16,fontWeight: FontWeight.bold),),
            ),
            Padding(
              padding: const EdgeInsets.only(left: 25,top: 15),
              child:
              Container(
                height:Get.height*0.04,
                child: ListView.builder(
                  padding: EdgeInsets.only(left: 0),
                  scrollDirection: Axis.horizontal,
                  physics: ScrollPhysics(),
                  itemCount: 2,
                  itemBuilder: (BuildContext context, int index) {
                    return InkWell(
                        onTap: (){
                        },
                        child: Padding(
                          padding: const EdgeInsets.only(left: 10),
                          child: Container(
                            width : Get.width*0.20,
                            padding: EdgeInsets.only(right: 15,left: 15,top: 6,bottom: 6),
                            decoration: BoxDecoration(color:Colors.grey[300],borderRadius: BorderRadius.circular(5)),
                            child:Center(
                                child:
                                Text("",style: TextStyle(color:  ColorConstants.darkGreyColor,fontSize: 16,fontWeight: FontWeight.bold),)
                            ),

                          ),
                        )
                    );
                  },
                ),
              ),
            ),
            Padding(
              padding: const EdgeInsets.only(left: 15,top: 20),
              child: Text('Weight :',style: TextStyle(color: ColorConstants.primaryColor,fontSize: 16,fontWeight: FontWeight.bold),),
            ),
            Padding(
              padding: const EdgeInsets.only(left: 25,top: 15),
              child: Container(
                height: Get.height*0.04,
                child: ListView.builder(
                  scrollDirection: Axis.horizontal,
                  itemCount: 3,
                  itemBuilder: (BuildContext context, int index) {
                    return InkWell(
                        onTap: (){

                        },
                        child:Padding(
                          padding: const EdgeInsets.only(left: 10),
                          child: Container(
                            width : Get.width*0.20,
                            padding: EdgeInsets.only(right: 15,left: 15,top: 6,bottom: 6),
                            decoration: BoxDecoration(color:  Colors.grey[300],borderRadius: BorderRadius.circular(5),border: Border.all(color: Colors.grey[300]!)),
                            child: Column(
                              children: [
                                Center(child: Text("",style: TextStyle(color: ColorConstants.darkGreyColor,fontSize: 15,fontWeight: FontWeight.bold),)),
                              ],
                            ),
                          ),
                        )
                    );
                  }, ),
              ),
            ),
            Padding(
              padding: const EdgeInsets.only(left: 15,top: 20),
              child: Text('Item category :',style: TextStyle(color: ColorConstants.primaryColor,fontSize: 16,fontWeight: FontWeight.bold),),
            ),
            Padding(
              padding: const EdgeInsets.only(left: 25,top: 15),
              child: Container(
                height: Get.height*0.05,
                child: InkWell(
                  onTap: (){

                  },
                  child: Row(
                    mainAxisAlignment: MainAxisAlignment.start,
                    crossAxisAlignment: CrossAxisAlignment.start,
                    children: [
                      Padding(
                        padding: const EdgeInsets.only(top: 0,left: 10),
                        child: Column(
                          mainAxisAlignment: MainAxisAlignment.start,
                          crossAxisAlignment: CrossAxisAlignment.start,
                          children: [

                            Container(
                                width : Get.width*0.20,
                                // height:Get.height*0.04,
                                // width: Get.width*0.3,
                                padding: EdgeInsets.only(left: 10,right: 10,top: 10,bottom: 10),
                                decoration: BoxDecoration(color: ColorConstants.secondaryColor,borderRadius: BorderRadius.circular(10),border: Border.all(color:ColorConstants.primaryColor)),
                                child: Center(
                                    child: Text("",style: TextStyle(fontSize: 15,color:ColorConstants.darkGreyColor,fontWeight: FontWeight.bold)))),
                          ],
                        ),
                      )
                    ],
                  ),
                ),

              ),
            ),

            Column(
              children: [
                Row(
                  mainAxisAlignment: MainAxisAlignment.start,
                  crossAxisAlignment: CrossAxisAlignment.start,
                  children: [
                    Padding(
                      padding: const EdgeInsets.only(left: 10,top: 20),
                      child: Text('Instructions :',style: TextStyle(color: ColorConstants.primaryColor,fontSize: 16,fontWeight: FontWeight.bold),),
                    ),
                  ],
                ),
                const SizedBox(
                  height: 10,
                ),
                Padding(
                  padding: const EdgeInsets.only(top: 5,left: 10,right: 10,bottom: 5),
                  child: Column(
                    mainAxisAlignment: MainAxisAlignment.start,
                    crossAxisAlignment: CrossAxisAlignment.start,
                    children: [
                      Container(
                          height: Get.height*0.08,
                          width : Get.width*0.95,
                          // padding: EdgeInsets.only(left: 10,right: 10,top: 10,bottom: 10),
                          decoration: BoxDecoration(color: ColorConstants.secondaryColor,borderRadius: BorderRadius.circular(10),border: Border.all(color:ColorConstants.primaryColor)),
                          child: Center(
                              child: Text("",style: TextStyle(fontSize: 15,color:ColorConstants.darkGreyColor,fontWeight: FontWeight.bold)))),
                    ],
                  ),
                ),
              ],
            ),
          ],
        ),
      ),
    );

  }


}





class UpperCaseTextFormatter extends TextInputFormatter {
  @override
  TextEditingValue formatEditUpdate(TextEditingValue oldValue, TextEditingValue newValue) {
    return TextEditingValue(
      text: capitalize(newValue.text),
      selection: newValue.selection,
    );
  }
}
String capitalize(String value) {
  if(value.trim().isEmpty) return "";
  return "${value[0].toUpperCase()}${value.substring(1)}";
}