import 'package:flutter/material.dart'; import 'package:get/get.dart'; import '../../Controller/Tenantlocation/Tenantlocationcontroller.dart'; import '../../Helper/Constants/Colorconstants.dart'; import '../../Helper/custombutton.dart'; import '../../Helper/toast.dart'; import '../../Helper/utility.dart'; import '../../Model/Response/Customers/GetCustomerById/GetCustomerByTenantId.dart'; import '../Createorder/Createorderview.dart'; class TenantLocations extends StatelessWidget { final GetCustomerByTenantIdDetails data; TenantLocations({super.key, required this.data}); TenantLocationController tenantLocationController = Get.put(TenantLocationController()); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( backgroundColor: ColorConstants.primaryColor, elevation: 0.3, leading: Padding( padding: const EdgeInsets.all(5.0), child:InkWell( onTap: (){ Get.back(); }, child: Icon(Icons.reply,size: 30,color: ColorConstants.secondaryColor,)), ), title: Text('Locations'), titleSpacing: 0, ), backgroundColor: Colors.grey[100], body: GetBuilder( initState: (_){ tenantLocationController.getTenantLocation(); }, builder: (controller) { return Column( children: [ Container( height: Get.height*0.8, child: ListView.builder( padding: EdgeInsets.only(bottom: 70), itemCount: controller.getLocations.length, itemBuilder: (BuildContext context, int index) { return Padding( padding: const EdgeInsets.only(top: 8,left: 10,right: 10), child: InkWell( onTap: (){ controller.selectedAddressIndex = index; controller.locationId = controller.getLocations[index].locationid!; controller.latitude = controller.getLocations[index].locationlatitude!; controller.longitude = controller.getLocations[index].locationlong!; controller.address = controller.getLocations[index].locationaddress!; print('tenatlocationid${controller.locationId}'); print('tenatlongitude${controller.latitude}'); print('tenatlongitude${controller.longitude}'); print('tenataddress${controller.address}'); controller.update(); }, child: Card( // color: Colors.grey[150], elevation: 0.6, child: Container( height: Get.height*0.15, child: Row( children: [ Expanded( flex: 2, child: Container( decoration: BoxDecoration( color: UtilityPromotion.getLightColors( controller.getLocations[index].locationname![0] ?? 'A'.toString().trimLeft()) .withAlpha(200), borderRadius: BorderRadius.circular(5), ), child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ Stack( children: [ Container( padding: EdgeInsets.all(12), decoration: BoxDecoration( color: Colors.white70, shape: BoxShape.circle), child: Icon( Icons.storefront, color: ColorConstants.primaryColor, size: 50, )), ], ) ], ), ), ), SizedBox( width: 10, ), Expanded( flex: 4, child: Column( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ // SizedBox( // height: 3, // ), Row( children: [ Icon( Icons.location_on, color: Colors.black45, size: 17, ), SizedBox( width: 5, ), Flexible( flex: 3, child: Text( '${controller.getLocations[index].locationname}', overflow: TextOverflow.ellipsis, style: TextStyle( fontSize: 18, color: Colors.black54, fontWeight: FontWeight.w600), ), ), SizedBox( width: 3, ), ], ), Row( children: [ Icon( Icons.phone_android_sharp, color: Colors.black45, size: 16, ), SizedBox( width: 5, ), Text( '${controller.getLocations[index].locationcontact}', style: TextStyle( fontSize: 15, color: Colors.black87, fontWeight: FontWeight.w400), ), ], ), Row( crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.start, children: [ Icon( Icons.location_on_outlined, size: 16, color: Colors.black45, ), SizedBox( width: 4, ), Flexible( child: Text( '${controller.getLocations[index].locationsuburb}', overflow: TextOverflow.ellipsis, style: TextStyle( fontSize: 15, color: Colors.black87 // fontWeight: FontWeight.w600 ), ), ), ], ), // Row( // crossAxisAlignment: CrossAxisAlignment.center, // mainAxisAlignment: MainAxisAlignment.start, // children: [ // Icon( // Icons.location_on_outlined, // size: 16, // color: Colors.black45, // ), // SizedBox( // width: 4, // ), // Container( // width: Get.width*0.44, // child: Text( // '${controller.getLocations[index].address}', // overflow: TextOverflow.ellipsis, // style: TextStyle( // fontSize: 15, color: Colors.black87 // // fontWeight: FontWeight.w600 // ), // ), // ), // ], // ) ], ), ), SizedBox( width: 10, ), Expanded( flex: 1, child: InkWell( onTap: (){ controller.selectedAddressIndex = index; controller.locationId = controller.getLocations[index].locationid!; controller.latitude = controller.getLocations[index].locationlatitude!; controller.longitude = controller.getLocations[index].locationlong!; controller.address = controller.getLocations[index].locationaddress!; controller.update(); }, child: CircleAvatar( radius: 12, backgroundColor:controller.selectedAddressIndex==index?Colors.green:Colors.grey[300], child: Icon(Icons.check,color: ColorConstants.secondaryColor,size: 20), ), ), ) ], ), ) ), ), ); }, ), ), Spacer(), Row( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.start, children: [ Center( child: Padding( padding: const EdgeInsets.only(bottom: 11,top: 0), child: Center( child: RoundedButton( onPressed: () { if(controller.selectedAddressIndex!=-1){ Get.to(CreateOrderView(isDashboard: false,)); controller.btnController.reset(); } else{ controller.btnController.reset(); Toast.showToast('Please Select location address'); } }, color:ColorConstants.primaryColor, title: 'Continue', controller: controller.btnController, textStyle: const TextStyle( fontSize: 18, fontFamily: "Lato", color: Colors.white, fontWeight: FontWeight.bold), height: Get.height*0.06, width: Get.width*0.8, ) ), )), ], ), ], ); } ), ); } }