import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:ride/constant/table_names.dart'; import '../../../constant/colors.dart'; import '../../../constant/style.dart'; import '../../../controller/functions/toast.dart'; import '../../../controller/home/map_passenger_controller.dart'; import '../../../main.dart'; GetBuilder formSearchPlaces() { // DbSql sql = DbSql.instance; return GetBuilder( builder: (controller) => Column( children: [ Padding( padding: const EdgeInsets.all(12), child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Container( width: Get.width * .8, decoration: const BoxDecoration(color: AppColor.secondaryColor), child: TextField( decoration: InputDecoration( border: const OutlineInputBorder( borderRadius: BorderRadius.only(), gapPadding: 4, borderSide: BorderSide( color: AppColor.redColor, width: 2, )), suffixIcon: const Icon(Icons.search), hintText: controller.hintTextDestinationPoint, hintStyle: AppStyle.title, hintMaxLines: 1, prefixIcon: IconButton( onPressed: () { controller.placeDestinationController.clear(); controller.clearPlacesDestination(); }, icon: Icon( Icons.clear, color: Colors.red[300], ), ), ), controller: controller.placeDestinationController, onChanged: (value) { if (controller .placeDestinationController.text.length > 5) { controller.getPlaces(); controller.changeHeightPlaces(); } }, // onEditingComplete: () => controller.changeHeight(), ), ), IconButton( onPressed: () { controller.changeMainBottomMenuMap(); controller.changePickerShown(); }, icon: const Icon( Icons.map_outlined, color: AppColor.greenColor, ), ), ], ), ), // controller.placesDestination.isEmpty // ? InkWell( // onTap: () { // controller.changeMainBottomMenuMap(); // controller.changePickerShown(); // }, // child: Text( // 'Choose from Map'.tr, // style: // AppStyle.title.copyWith(color: AppColor.blueColor), // ), // ) // : const SizedBox(), Container( height: controller.placesDestination.isNotEmpty ? controller.height : 0, color: AppColor.secondaryColor, child: ListView.builder( itemCount: controller.placesDestination.length, itemBuilder: (BuildContext context, int index) { var res = controller.placesDestination[index]; return InkWell( onTap: () async { controller.changeHeightPlaces(); controller.changeHeightPlaces(); controller.passengerLocation = controller.newMyLocation; controller.convertHintTextDestinationNewPlaces(index); controller.placesDestination = []; controller.placeDestinationController.clear(); }, child: Padding( padding: const EdgeInsets.symmetric(horizontal: 10), child: Column( children: [ Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Column( children: [ Image.network( res['icon'], width: 20, ), IconButton( onPressed: () async { await sql.insertData({ 'latitude': res['geometry'] ['location']['lat'], 'longitude': res['geometry'] ['location']['lng'], 'name': res['name'].toString(), 'rate': res['rating'].toString(), }, TableName.placesFavorite); Toast.show( context, '${res['name']} ${'Saved Sucssefully'.tr}', AppColor.primaryColor); }, icon: const Icon(Icons.favorite_border), ), ], ), Column( children: [ Text( res['name'].toString(), style: AppStyle.title, ), Text( res['vicinity'].toString(), style: AppStyle.subtitle, ), ], ), Column( children: [ Text( 'rate', style: AppStyle.subtitle, ), Text( res['rating'].toString(), style: AppStyle.subtitle, ), ], ), ], ), const Divider( thickness: 1, ) ], ), ), ); }, ), ) ], )); }