import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:SEFER/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 formSearchPlacesStart() { // DbSql sql = DbSql.instance; return GetBuilder( builder: (controller) => Column( children: [ Padding( padding: const EdgeInsets.all(8), child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Container( width: Get.width * .75, height: 40, decoration: const BoxDecoration(color: AppColor.secondaryColor), child: TextFormField( decoration: InputDecoration( border: const OutlineInputBorder( borderRadius: BorderRadius.only(), gapPadding: 4, borderSide: BorderSide( color: AppColor.redColor, width: 2, )), suffixIcon: const Icon(Icons.search), hintText: controller.hintTextStartPoint, hintStyle: AppStyle.title, hintMaxLines: 1, prefixIcon: IconButton( onPressed: () { controller.placeStartController.clear(); controller.clearPlacesStart(); }, icon: Icon( Icons.clear, color: Colors.red[300], ), ), ), controller: controller.placeStartController, onChanged: (value) { if (controller.placeStartController.text.length > 5) { controller.getPlacesStart(); controller.changeHeightStartPlaces(); } }, // onEditingComplete: () => controller.changeHeight(), ), ), IconButton( onPressed: () { controller.startLocationFromMap = true; controller.changeMainBottomMenuMap(); controller.changePickerShown(); }, icon: const Icon( Icons.map_outlined, color: AppColor.yellowColor, ), ), ], ), ), // controller.placesDestination.isEmpty // ? InkWell( // onTap: () { // controller.startLocationFromMap = true; // controller.changeMainBottomMenuMap(); // controller.changePickerShown(); // }, // child: Text( // 'Choose from Map Start Point'.tr, // style: // AppStyle.title.copyWith(color: AppColor.blueColor), // ), // ) // : const SizedBox(), Container( height: controller.placesStart.isNotEmpty ? controller.height : 0, color: AppColor.secondaryColor, child: ListView.builder( itemCount: controller.placesStart.length, itemBuilder: (BuildContext context, int index) { var res = controller.placesStart[index]; return InkWell( onTap: () async { controller.changeHeightPlaces(); // if (controller.currentLocationToFormPlaces == true) { // controller.newStartPointLocation = // controller.myLocation; // } else { // controller.myLocation = // controller.newStartPointLocation; // } await sql.insertMapLocation({ 'latitude': res['geometry']['location']['lat'], 'longitude': res['geometry']['location']['lng'], 'name': res['name'].toString(), 'rate': res['rating'].toString(), }, TableName.recentLocations); controller.convertHintTextStartNewPlaces(index); controller.currentLocationString = res['name']; controller.placesStart = []; controller.placeStartController.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.insertMapLocation({ '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, ) ], ), ), ); }, ), ) ], )); }