diff --git a/lib/pages/search/search_controller.dart b/lib/pages/search/search_controller.dart index bf36e0b..29871d5 100644 --- a/lib/pages/search/search_controller.dart +++ b/lib/pages/search/search_controller.dart @@ -7,13 +7,17 @@ import 'package:rogapp/pages/index/index_controller.dart'; class SearchController extends GetxController { -List searchResults = [].obs; +List searchResults = [].obs; @override void onInit() { IndexController indexController = Get.find(); - indexController.locations.addAll(indexController.locations); + for(int i=0; i<= indexController.locations[0].collection.length - 1; i++){ + GeoJsonFeature p = indexController.locations[0].collection[i]; + searchResults.add(p); + + } super.onInit(); } diff --git a/lib/pages/search/search_page.dart b/lib/pages/search/search_page.dart index 12d1c87..0083989 100644 --- a/lib/pages/search/search_page.dart +++ b/lib/pages/search/search_page.dart @@ -1,12 +1,29 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; +import 'package:rogapp/pages/index/index_controller.dart'; import 'package:rogapp/pages/search/search_controller.dart'; +import 'package:rogapp/widgets/bottom_sheet_new.dart'; class SearchPage extends StatelessWidget { SearchPage({Key? key}) : super(key: key); SearchController searchController = Get.find(); + IndexController indexController = Get.find(); + + Image getImage(int index){ + if(searchController.searchResults[index].properties!["photos"] == null || searchController.searchResults[index].properties!["photos"] == ""){ + return Image(image: AssetImage('assets/images/empty_image.png')); + } + else{ + return Image( + image: NetworkImage(searchController.searchResults[index].properties!["photos"]), + errorBuilder: (BuildContext context, Object exception, StackTrace? stackTrace) { + return Image.asset("assets/images/empty_image.png"); + }, + ); + } + } @override Widget build(BuildContext context) { @@ -22,14 +39,30 @@ class SearchPage extends StatelessWidget { title: const CupertinoSearchTextField(), ), - body: Obx(() => + body: + //Obx(() => ListView.builder( itemCount: searchController.searchResults.length, itemBuilder: (context, index){ - return Text("hello"); + return ListTile( + title: Text(searchController.searchResults[index].properties!["location_name"]), + subtitle: Text(searchController.searchResults[index].properties!["category"]), + leading: getImage(index), + onTap: (){ + indexController.currentFeature.clear(); + indexController.currentFeature.add(searchController.searchResults[index]); + Get.back(); + showModalBottomSheet( + isScrollControlled: true, + context: context, + //builder: (context) => BottomSheetWidget(), + builder:((context) => BottomSheetNew()) + ); + }, + ); }, ), - ) + //) ); } } \ No newline at end of file diff --git a/lib/routes/app_pages.dart b/lib/routes/app_pages.dart index 05a59ae..94df57f 100644 --- a/lib/routes/app_pages.dart +++ b/lib/routes/app_pages.dart @@ -12,6 +12,7 @@ import 'package:rogapp/pages/loading/loading_page.dart'; import 'package:rogapp/pages/login/login_page.dart'; import 'package:rogapp/pages/permission/permission.dart'; import 'package:rogapp/pages/register/register_page.dart'; +import 'package:rogapp/pages/search/search_binding.dart'; import 'package:rogapp/pages/search/search_page.dart'; import 'package:rogapp/spa/spa_binding.dart'; import 'package:rogapp/spa/spa_page.dart'; @@ -98,6 +99,7 @@ class AppPages { GetPage( name: Routes.SEARCH, page: () => SearchPage(), + binding: SearchBinding(), ) ]; } \ No newline at end of file