Files
rog_app/lib/pages/home/home_page.dart
Mohamed Nouffer 5e3de63a3c update utf
2022-03-14 13:14:15 +05:30

104 lines
3.7 KiB
Dart

import 'dart:ui';
import 'package:flutter/material.dart';
import 'package:geojson/geojson.dart';
import 'package:get/get.dart';
import 'package:rogapp/pages/drawer/drawer_page.dart';
import 'package:rogapp/pages/home/home_controller.dart';
import 'package:rogapp/routes/app_pages.dart';
import 'package:rogapp/services/location_line_service.dart';
import 'package:rogapp/services/location_polygon_service.dart';
import 'package:rogapp/services/location_service.dart';
import 'package:rogapp/widgets/bottom_sheet_widget.dart';
class HomePage extends GetView<HomeController> {
final HomeController homeController = Get.find<HomeController>();
Image getImage(int index){
if(homeController.locations[0].collection[index].properties!["photos"] == null || homeController.locations[0].collection[index].properties!["photos"] == ""){
return Image(image: AssetImage('assets/images/empty_image.png'));
}
else{
return Image(image: NetworkImage(homeController.locations[0].collection[index].properties!["photos"]));
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
drawer: DrawerPage(),
appBar: AppBar(
title: Text("app_title".tr),
centerTitle: true,
actions: [
IconButton(
icon: const Icon(Icons.map),
onPressed: (){
//print(homeController.locations.length);
},
)
],
),
floatingActionButton: new FloatingActionButton(
onPressed: (){
Get.toNamed(AppPages.MAP);
},
tooltip: 'Increment',
child: new Icon(Icons.document_scanner),
elevation: 4.0,
),
bottomNavigationBar: BottomAppBar(
child: new Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Expanded(child: IconButton(icon: Icon(Icons.camera_enhance), onPressed: (){},),),
Expanded(child: IconButton(icon: Icon(Icons.arrow_back_ios), onPressed: (){}),),
Expanded(child: new Text('')),
Expanded(child: IconButton(icon: Icon(Icons.arrow_forward_ios), onPressed: (){}),),
Expanded(child: IconButton(icon: Icon(Icons.travel_explore), onPressed: (){}),),
],
),
),
floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked,
body:Column(
children: [
Container(
height: 50.0,
color: Colors.amber,
),
Expanded(
child: Obx(() =>
homeController.locations.length > 0 ?
ListView.builder(
itemCount: homeController.locations[0].collection.length,
shrinkWrap: true,
itemBuilder: (_, index){
return Card(
child: ListTile(
onTap: (){
GeoJsonFeature gf = homeController.locations[0].collection[index];
showModalBottomSheet(
isScrollControlled: true,
context: context,
builder: (context) => BottomSheetWidget(pt: gf),
);
},
leading: getImage(index),
title: Text(homeController.locations[0].collection[index].properties!['location_name'].toString()),
subtitle: Text(homeController.locations[0].collection[index].properties!['category']),
),
);
},
) : Container(width: 0, height: 0,),
)
)
],
)
);
}
}