updated and fix checking, buy point

This commit is contained in:
Mohamed Nouffer
2023-09-14 22:53:51 +05:30
parent aa7b13b76a
commit b54c29eb4b
10 changed files with 247 additions and 95 deletions

View File

@ -25,6 +25,8 @@ class Destination {
int? hidden_location; int? hidden_location;
String? checkin_image; String? checkin_image;
String? buypoint_image; String? buypoint_image;
bool forced_checkin = false;
int recipt_times = 0;
Destination({ Destination({
this.name, this.name,
@ -50,13 +52,16 @@ class Destination {
this.buy_point, this.buy_point,
this.hidden_location, this.hidden_location,
this.checkin_image, this.checkin_image,
this.buypoint_image this.buypoint_image,
this.forced_checkin = false,
this.recipt_times = 0
}); });
factory Destination.fromMap(Map<String, dynamic> json) { factory Destination.fromMap(Map<String, dynamic> json) {
bool selec = json['selected'] == 0 ? false : true; bool selec = json['selected'] == 0 ? false : true;
bool checkin = json['checkedin'] == 0 ? false : true; bool checkin = json['checkedin'] == 0 ? false : true;
bool _forced_checkin = json['forced_checkin'] == 0 ? false : true;
return Destination( return Destination(
name: json['name'], name: json['name'],
@ -82,13 +87,16 @@ class Destination {
buy_point: json['buy_point'], buy_point: json['buy_point'],
hidden_location: json['hidden_location'], hidden_location: json['hidden_location'],
checkin_image: json['checkin_image'], checkin_image: json['checkin_image'],
buypoint_image: json["buypoint_image"] buypoint_image: json["buypoint_image"],
forced_checkin: _forced_checkin,
recipt_times: json["recipt_times"]
); );
} }
Map<String, dynamic> toMap(){ Map<String, dynamic> toMap(){
int sel = selected == false ? 0 : 1; int sel = selected == false ? 0 : 1;
int check = checkedin == false ? 0 : 1; int check = checkedin == false ? 0 : 1;
int _forced_checkin = forced_checkin == false ? 0 : 1;
return { return {
'name':name, 'name':name,
'address': address, 'address': address,
@ -113,7 +121,9 @@ class Destination {
'buy_point' : buy_point, 'buy_point' : buy_point,
'hidden_location' : hidden_location, 'hidden_location' : hidden_location,
'checkin_image': checkin_image, 'checkin_image': checkin_image,
'buypoint_image' : buypoint_image 'buypoint_image' : buypoint_image,
'forced_checkin' : _forced_checkin,
'recipt_times' : recipt_times
}; };
} }

View File

@ -8,11 +8,23 @@ import 'package:rogapp/pages/destination/destination_controller.dart';
import 'package:rogapp/pages/index/index_controller.dart'; import 'package:rogapp/pages/index/index_controller.dart';
import 'package:rogapp/services/external_service.dart'; import 'package:rogapp/services/external_service.dart';
ImageProvider getFinishImage() {
DestinationController destinationController =
Get.find<DestinationController>();
if (destinationController.photos.isNotEmpty) {
return FileImage(destinationController.photos[0]);
} else {
return const AssetImage('assets/images/empty_image.png');
}
}
class CameraPage extends StatelessWidget { class CameraPage extends StatelessWidget {
bool? manulaCheckin = false;
bool? buyPointPhoto = false;
Destination? destination; Destination? destination;
Destination? dbDest; Destination? dbDest;
CameraPage({Key? key, this.destination, this.dbDest}) : super(key: key); CameraPage({Key? key, this.destination, this.dbDest, this.manulaCheckin, this.buyPointPhoto})
: super(key: key);
DestinationController destinationController = DestinationController destinationController =
Get.find<DestinationController>(); Get.find<DestinationController>();
IndexController indexController = Get.find<IndexController>(); IndexController indexController = Get.find<IndexController>();
@ -21,17 +33,40 @@ class CameraPage extends StatelessWidget {
Timer? timer; Timer? timer;
ImageProvider getFinishImage() {
if (destinationController.photos.isNotEmpty) {
return FileImage(destinationController.photos[0]);
} else {
return const AssetImage('assets/images/empty_image.png');
}
}
Widget getAction(BuildContext context) { Widget getAction(BuildContext context) {
//print("----cccheckin is --- ${dbDest?.checkedin} ----");
print("----cccheckin is --- ${dbDest?.checkedin} ----"); if (manulaCheckin == true) {
return Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
Obx(() => ElevatedButton(
onPressed: () {
destinationController.openCamera(context, destination);
},
child: destinationController.photos.isNotEmpty
? const Text("再撮影")
: const Text("撮影"))),
Obx(() => destinationController.photos.isNotEmpty
? ElevatedButton(
style: ElevatedButton.styleFrom(backgroundColor: Colors.red),
onPressed: () async {
print(
"##### current destination ${indexController.currentDestinationFeature[0].sub_loc_id} #######");
await destinationController.makeCheckin(
destination!,
true,
destinationController.photos[0].path);
Get.back();
destinationController.rogaining_counted.value = true;
destinationController.skip_gps = false;
destinationController.is_photo_shoot.value = false;
Get.snackbar("チェックインした", "正常にチェックインしました");
},
child: const Text("チェックイン"))
: Container())
],
);
}
if (destinationController.is_at_goal.value && if (destinationController.is_at_goal.value &&
destinationController.is_in_rog.value) { destinationController.is_in_rog.value) {
@ -41,7 +76,7 @@ class CameraPage extends StatelessWidget {
ElevatedButton( ElevatedButton(
onPressed: () { onPressed: () {
if (settingGoal.value == false) { if (settingGoal.value == false) {
destinationController.openCamera(context); destinationController.openCamera(context, destination);
} }
}, },
child: Text("take_photo of the clock".tr)), child: Text("take_photo of the clock".tr)),
@ -117,7 +152,7 @@ class CameraPage extends StatelessWidget {
children: [ children: [
Obx(() => ElevatedButton( Obx(() => ElevatedButton(
onPressed: () { onPressed: () {
destinationController.openCamera(context); destinationController.openCamera(context, destination);
}, },
child: destinationController.photos.isNotEmpty child: destinationController.photos.isNotEmpty
? const Text("再撮影") ? const Text("再撮影")
@ -129,8 +164,7 @@ class CameraPage extends StatelessWidget {
print( print(
"##### current destination ${indexController.currentDestinationFeature[0].sub_loc_id} #######"); "##### current destination ${indexController.currentDestinationFeature[0].sub_loc_id} #######");
await destinationController.makeBuyPoint( await destinationController.makeBuyPoint(
destination!, destination!, destinationController.photos[0].path);
destinationController.photos[0].path);
Get.back(); Get.back();
destinationController.rogaining_counted.value = true; destinationController.rogaining_counted.value = true;
destinationController.skip_gps = false; destinationController.skip_gps = false;
@ -147,7 +181,7 @@ class CameraPage extends StatelessWidget {
children: [ children: [
Obx(() => ElevatedButton( Obx(() => ElevatedButton(
onPressed: () { onPressed: () {
destinationController.openCamera(context); destinationController.openCamera(context, destination);
}, },
child: destinationController.photos.isNotEmpty child: destinationController.photos.isNotEmpty
? const Text("再撮影") ? const Text("再撮影")
@ -167,19 +201,6 @@ class CameraPage extends StatelessWidget {
destinationController.skip_gps = false; destinationController.skip_gps = false;
destinationController.is_photo_shoot.value = false; destinationController.is_photo_shoot.value = false;
Get.snackbar("チェックインした", "正常にチェックインしました"); Get.snackbar("チェックインした", "正常にチェックインしました");
// ExternalService().makeGoal(user_id, _token, _team, destinationController.photos[0].path, formattedDate, _event_code).then((value){
// print("---called ext api ${value['status']} ------");
// if(value['status'] == 'OK'){
// Get.back();
// destinationController.skip_gps = false;
// Get.snackbar("Checked in", "Checked in successfuly");
// }
// else{
// print("---- status ${value['status']} ---- ");
// Get.snackbar("Checkin not added", "please_try_again");
// }
// });
}, },
child: const Text("チェックイン")) child: const Text("チェックイン"))
: Container()) : Container())
@ -194,7 +215,12 @@ class CameraPage extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
if (destinationController.is_in_rog.value) { if(buyPointPhoto == true){
print("--- buy point camera ${destination.toString()}");
return BuyPointCamera(destination: destination!);
}
else if (destinationController.is_in_rog.value) {
print("--- in normal camera ${destination.toString()}");
return Scaffold( return Scaffold(
appBar: destinationController.is_in_rog.value && appBar: destinationController.is_in_rog.value &&
destinationController.rogaining_counted.value == true destinationController.rogaining_counted.value == true
@ -284,8 +310,50 @@ class StartRogaining extends StatelessWidget {
} }
} }
class NotAtGoal extends StatelessWidget { // class NotAtGoal extends StatelessWidget {
NotAtGoal({Key? key}) : super(key: key); // NotAtGoal({Key? key}) : super(key: key);
// DestinationController destinationController =
// Get.find<DestinationController>();
// @override
// Widget build(BuildContext context) {
// return Scaffold(
// appBar: AppBar(
// title: Text(
// "Not reached the goal yet".tr,
// ),
// ),
// body: Container(
// child: Center(
// child: Column(
// mainAxisAlignment: MainAxisAlignment.center,
// children: [
// Text("You have not reached the goal yet.".tr,
// style: const TextStyle(fontSize: 24)),
// const SizedBox(
// height: 40.0,
// ),
// ElevatedButton(
// onPressed: () {
// Get.back();
// destinationController.skip_gps = false;
// },
// child: const Text("Back"),
// ),
// ],
// ),
// ),
// ),
// );
// }
// }
class BuyPointCamera extends StatelessWidget {
BuyPointCamera({Key? key, required this.destination}) : super(key: key);
Destination destination;
DestinationController destinationController = DestinationController destinationController =
Get.find<DestinationController>(); Get.find<DestinationController>();
@ -295,29 +363,57 @@ class NotAtGoal extends StatelessWidget {
return Scaffold( return Scaffold(
appBar: AppBar( appBar: AppBar(
title: Text( title: Text(
"Not reached the goal yet".tr, "CPです。撮影してください。\n ${destination.sub_loc_id} : ${destination.location_id}",
), ),
), ),
body: Container( body: Column(
child: Center( mainAxisAlignment: MainAxisAlignment.spaceAround,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
Text("You have not reached the goal yet.".tr, Padding(
style: const TextStyle(fontSize: 24)), padding: const EdgeInsets.all(8.0),
const SizedBox( child: Center(
height: 40.0, child: Obx(
() => Container(
width: MediaQuery.of(context).size.width,
height: 370,
decoration: BoxDecoration(
image: DecorationImage(
image: getFinishImage(), fit: BoxFit.cover)),
), ),
ElevatedButton( ),
),
),
Padding(
padding: const EdgeInsets.all(8.0),
child: const Text("チェックインしました。"),
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
Obx(() => ElevatedButton(
onPressed: () { onPressed: () {
Get.back(); destinationController.openCamera(context, destination);
destinationController.skip_gps = false;
}, },
child: const Text("Back"), child: destinationController.photos.isNotEmpty
), ? const Text("再撮影")
: const Text("撮影"))),
Obx(() => destinationController.photos.isNotEmpty
? ElevatedButton(
style: ElevatedButton.styleFrom(backgroundColor: Colors.red),
onPressed: () async {
await destinationController.makeBuyPoint(
destination, destinationController.photos[0].path);
Get.back();
destinationController.rogaining_counted.value = true;
destinationController.skip_gps = false;
destinationController.is_photo_shoot.value = false;
Get.snackbar("追加した", "領収書の写真を追加しました");
},
child: const Text("チェックイン"))
: Container())
], ],
), ),
), ],
), ),
); );
} }

View File

@ -132,7 +132,7 @@ class DestinationController extends GetxController {
Future<void> startTimer(Destination d, double distance) async { Future<void> startTimer(Destination d, double distance) async {
print("=== passed dest is ${d.location_id} ${d.checkedin} ===="); print("=== passed dest is ${d.location_id} ${d.checkedin} ====");
//skip_gps = true; skip_gps = true;
print("---- in startTimer ----"); print("---- in startTimer ----");
DatabaseHelper db = DatabaseHelper.instance; DatabaseHelper db = DatabaseHelper.instance;
@ -144,8 +144,11 @@ class DestinationController extends GetxController {
double checkinRadious = d.checkin_radious ?? double.infinity; double checkinRadious = d.checkin_radious ?? double.infinity;
bool autoCheckin = d.auto_checkin == 0 ? false : true; bool autoCheckin = d.auto_checkin == 0 ? false : true;
bool buyPoint = dss != null && dss.buy_point != null && dss.buy_point! > 0 ? true : false; bool buyPoint = dss != null && dss.buy_point != null && dss.buy_point! > 0
bool buyPointImageAdded = dss != null && dss.buypoint_image != null ? true : false; ? true
: false;
bool buyPointImageAdded =
dss != null && dss.buypoint_image != null ? true : false;
bool locationAlreadyCheckedIn = bool locationAlreadyCheckedIn =
ds.length > 0 && ds[0].checkedin == true ? true : false; ds.length > 0 && ds[0].checkedin == true ? true : false;
bool isuserLoggedIn = indexController.currentUser.isNotEmpty ? true : false; bool isuserLoggedIn = indexController.currentUser.isNotEmpty ? true : false;
@ -170,7 +173,8 @@ class DestinationController extends GetxController {
constraints: BoxConstraints.loose(Size(Get.width, Get.height * 0.75)), constraints: BoxConstraints.loose(Size(Get.width, Get.height * 0.75)),
context: Get.context!, context: Get.context!,
isScrollControlled: true, isScrollControlled: true,
builder: ((context) => CameraPage())).whenComplete(() { builder: ((context) =>
CameraPage(destination: dss))).whenComplete(() {
skip_gps = false; skip_gps = false;
chekcs = 0; chekcs = 0;
is_in_checkin.value = false; is_in_checkin.value = false;
@ -192,7 +196,9 @@ class DestinationController extends GetxController {
BoxConstraints.loose(Size(Get.width, Get.height * 0.75)), BoxConstraints.loose(Size(Get.width, Get.height * 0.75)),
context: Get.context!, context: Get.context!,
isScrollControlled: true, isScrollControlled: true,
builder: ((context) => BottomSheetNew())).whenComplete(() { builder: ((context) => BottomSheetNew(
destination: d,
))).whenComplete(() {
skip_gps = false; skip_gps = false;
chekcs = 0; chekcs = 0;
is_at_start.value = false; is_at_start.value = false;
@ -208,7 +214,9 @@ class DestinationController extends GetxController {
BoxConstraints.loose(Size(Get.width, Get.height * 0.75)), BoxConstraints.loose(Size(Get.width, Get.height * 0.75)),
context: Get.context!, context: Get.context!,
isScrollControlled: true, isScrollControlled: true,
builder: ((context) => BottomSheetNew())).whenComplete(() { builder: ((context) => BottomSheetNew(
destination: d,
))).whenComplete(() {
skip_gps = false; skip_gps = false;
chekcs = 0; chekcs = 0;
is_in_checkin.value = false; is_in_checkin.value = false;
@ -265,7 +273,9 @@ class DestinationController extends GetxController {
expand: true, expand: true,
context: Get.context!, context: Get.context!,
backgroundColor: Colors.transparent, backgroundColor: Colors.transparent,
builder: (context) => BottomSheetNew()).whenComplete(() { builder: (context) => BottomSheetNew(
destination: d,
)).whenComplete(() {
skip_gps = false; skip_gps = false;
chekcs = 0; chekcs = 0;
is_in_checkin.value = false; is_in_checkin.value = false;
@ -296,7 +306,8 @@ class DestinationController extends GetxController {
context: Get.context!, context: Get.context!,
isScrollControlled: true, isScrollControlled: true,
builder: ((context) => CameraPage( builder: ((context) => CameraPage(
destination: d, buyPointPhoto: true,
destination: dss,
dbDest: ds.first, dbDest: ds.first,
))).whenComplete(() { ))).whenComplete(() {
skip_gps = false; skip_gps = false;
@ -329,7 +340,7 @@ class DestinationController extends GetxController {
context: Get.context!, context: Get.context!,
isScrollControlled: true, isScrollControlled: true,
builder: ((context) => CameraPage( builder: ((context) => CameraPage(
destination: d, destination: dss,
))).whenComplete(() { ))).whenComplete(() {
skip_gps = false; skip_gps = false;
chekcs = 0; chekcs = 0;
@ -348,7 +359,9 @@ class DestinationController extends GetxController {
BoxConstraints.loose(Size(Get.width, Get.height * 0.75)), BoxConstraints.loose(Size(Get.width, Get.height * 0.75)),
context: Get.context!, context: Get.context!,
isScrollControlled: true, isScrollControlled: true,
builder: ((context) => BottomSheetNew())).whenComplete(() { builder: ((context) => BottomSheetNew(
destination: d,
))).whenComplete(() {
print("----- finished start -------"); print("----- finished start -------");
skip_gps = false; skip_gps = false;
chekcs = 0; chekcs = 0;
@ -402,7 +415,7 @@ class DestinationController extends GetxController {
}); });
} }
void openCamera(BuildContext context) { void openCamera(BuildContext context, Destination? destination) {
photos.clear(); photos.clear();
Navigator.push( Navigator.push(
context, context,
@ -437,17 +450,15 @@ class DestinationController extends GetxController {
return null; return null;
} }
void CallforCheckin(Destination d) { Future<void> CallforCheckin(Destination d) async {
bool autoCheckin = d.auto_checkin == 0 ? false : true; bool autoCheckin = d.auto_checkin == 0 ? false : true;
print("---- f- checkin ${d.sub_loc_id} ----");
if (autoCheckin) { if (autoCheckin) {
if (!checking_in) { if (!checking_in) {
print(
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ make checkin ${d.sub_loc_id}@@@@@@@@@@@");
makeCheckin(d, true, ""); makeCheckin(d, true, "");
if (d.cp != -1) { if (d.cp != -1) {
rogaining_counted.value = true; rogaining_counted.value = true;
} }
skip_gps = false;
} }
} else { } else {
print("--- hidden loc ${d.hidden_location} ----"); print("--- hidden loc ${d.hidden_location} ----");
@ -460,19 +471,47 @@ class DestinationController extends GetxController {
chekcs = 3; chekcs = 3;
is_in_checkin.value = true; is_in_checkin.value = true;
photos.clear(); photos.clear();
showModalBottomSheet( await showModalBottomSheet(
constraints: constraints:
BoxConstraints.loose(Size(Get.width, Get.height * 0.75)), BoxConstraints.loose(Size(Get.width, Get.height * 0.75)),
context: Get.context!, context: Get.context!,
isScrollControlled: true, isScrollControlled: true,
builder: ((context) => CameraPage( builder: ((context) => CameraPage(
manulaCheckin: true,
destination: d, destination: d,
))).whenComplete(() async {
if (d.buy_point != null && d.buy_point! > 0) {
skip_gps = true;
photos.clear();
DatabaseHelper db = DatabaseHelper.instance;
List<Destination> ds =
await db.getDestinationByLatLon(d.lat!, d.lon!);
Destination? dss;
if (ds.isNotEmpty) {
dss = ds.first;
}
await showModalBottomSheet(
constraints:
BoxConstraints.loose(Size(Get.width, Get.height * 0.75)),
context: Get.context!,
isScrollControlled: true,
builder: ((context) => CameraPage(
buyPointPhoto: true,
destination: d,
dbDest: dss,
))).whenComplete(() { ))).whenComplete(() {
skip_gps = false; skip_gps = false;
//rogaining_counted.value = true; rogaining_counted.value = true;
chekcs = 0; chekcs = 0;
is_in_checkin.value = false; is_in_checkin.value = false;
}); });
} else {
skip_gps = false;
chekcs = 0;
is_in_checkin.value = false;
}
});
} else { } else {
Get.snackbar("始まっていない", "ロゲイニングを始める必要があります"); Get.snackbar("始まっていない", "ロゲイニングを始める必要があります");
} }
@ -504,7 +543,7 @@ class DestinationController extends GetxController {
//near a location //near a location
print("---- before call startTimerLocation ----"); print("---- before call startTimerLocation ----");
await startTimerLocation(fs, distFs); await startTimerLocation(fs, distFs);
return; break;
} }
} }
print("--- 123 ---- $skip_gps----"); print("--- 123 ---- $skip_gps----");

View File

@ -58,7 +58,7 @@ class DestinationMapPage extends StatelessWidget {
isScrollControlled: true, isScrollControlled: true,
constraints: BoxConstraints.loose( constraints: BoxConstraints.loose(
Size(Get.width, Get.height * 0.75)), Size(Get.width, Get.height * 0.75)),
builder: ((context) => BottomSheetNew())).whenComplete(() { builder: ((context) => BottomSheetNew(destination: d,))).whenComplete(() {
print("---- set skip gps to false -----"); print("---- set skip gps to false -----");
destinationController.skip_gps = false; destinationController.skip_gps = false;
}); });

View File

@ -2,6 +2,8 @@ import 'package:flutter/material.dart';
import 'package:flutter_typeahead/flutter_typeahead.dart'; import 'package:flutter_typeahead/flutter_typeahead.dart';
import 'package:geojson/geojson.dart'; import 'package:geojson/geojson.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:rogapp/model/destination.dart';
import 'package:rogapp/pages/destination/destination_controller.dart';
import 'package:rogapp/pages/index/index_controller.dart'; import 'package:rogapp/pages/index/index_controller.dart';
import 'package:rogapp/pages/search/search_controller.dart'; import 'package:rogapp/pages/search/search_controller.dart';
import 'package:rogapp/widgets/bottom_sheet_new.dart'; import 'package:rogapp/widgets/bottom_sheet_new.dart';
@ -84,6 +86,8 @@ class SearchPage extends StatelessWidget {
onSuggestionSelected: (GeoJsonFeature suggestion) { onSuggestionSelected: (GeoJsonFeature suggestion) {
indexController.currentFeature.clear(); indexController.currentFeature.clear();
indexController.currentFeature.add(suggestion); indexController.currentFeature.add(suggestion);
DestinationController destinationController = Get.find<DestinationController>();
Destination des = destinationController.festuretoDestination(suggestion);
Get.back(); Get.back();
showModalBottomSheet( showModalBottomSheet(
constraints: constraints:
@ -91,7 +95,7 @@ class SearchPage extends StatelessWidget {
isScrollControlled: true, isScrollControlled: true,
context: context, context: context,
//builder: (context) => BottomSheetWidget(), //builder: (context) => BottomSheetWidget(),
builder: ((context) => BottomSheetNew())); builder: ((context) => BottomSheetNew(destination: des,)));
}, },
), ),
), ),

View File

@ -50,7 +50,9 @@ class DatabaseHelper{
buy_point REAL, buy_point REAL,
hidden_location INTEGER, hidden_location INTEGER,
checkin_image TEXT, checkin_image TEXT,
buypoint_image TEXT buypoint_image TEXT,
forced_checkin INTEGER,
recipt_times INTEGER
) )
'''); ''');

View File

@ -17,11 +17,12 @@ import 'package:rogapp/widgets/bottom_sheet_controller.dart';
import 'package:url_launcher/url_launcher.dart'; import 'package:url_launcher/url_launcher.dart';
class BottomSheetNew extends GetView<BottomSheetController> { class BottomSheetNew extends GetView<BottomSheetController> {
BottomSheetNew({Key? key}) : super(key: key); BottomSheetNew({Key? key, required this.destination}) : super(key: key);
final IndexController indexController = Get.find<IndexController>(); final IndexController indexController = Get.find<IndexController>();
final DestinationController destinationController = final DestinationController destinationController =
Get.find<DestinationController>(); Get.find<DestinationController>();
Destination destination;
Image getImage() { Image getImage() {
String serverUrl = ConstValues.currentServer(); String serverUrl = ConstValues.currentServer();
@ -108,7 +109,7 @@ class BottomSheetNew extends GetView<BottomSheetController> {
print('---- rog_mode ----- ${indexController.rog_mode} -----'); print('---- rog_mode ----- ${indexController.rog_mode} -----');
return indexController.rog_mode == 0 return indexController.rog_mode == 0
? detailsSheet(context) ? detailsSheet(context)
: Container(width: 200, height: 250, color: Colors.purple,); //destinationSheet(context); : destinationSheet(context);
} }
// Show destination detais // Show destination detais
@ -555,22 +556,18 @@ class BottomSheetNew extends GetView<BottomSheetController> {
backgroundColor: backgroundColor:
Theme.of(context).colorScheme.secondary), Theme.of(context).colorScheme.secondary),
onPressed: () async { onPressed: () async {
final Destination dd = if (destination.cp == -1) {
destinationController.festuretoDestination(
indexController.currentFeature[0]);
print("----- name of dest ${dd.name} ----");
if (dd.cp == -1) {
destinationController.is_in_rog.value = true; destinationController.is_in_rog.value = true;
destinationController.addToRogaining( destinationController.addToRogaining(
destinationController.current_lat, destinationController.current_lat,
destinationController.current_lon, destinationController.current_lon,
dd.location_id!); destination.location_id!);
saveGameState(); saveGameState();
ExternalService() ExternalService()
.StartRogaining() .StartRogaining()
.then((value) => Get.back()); .then((value) => Get.back());
} else { } else {
destinationController.CallforCheckin(dd); await destinationController.CallforCheckin(destination);
} }
}, },
child: Text( child: Text(

View File

@ -198,7 +198,7 @@ class DestinationWidget extends StatelessWidget {
context: context, context: context,
isScrollControlled: true, isScrollControlled: true,
//builder:((context) => BottomSheetWidget()) //builder:((context) => BottomSheetWidget())
builder: ((context) => BottomSheetNew())); builder: ((context) => BottomSheetNew(destination: fs,)));
} }
}, },
onLongPress: () { onLongPress: () {

View File

@ -115,6 +115,7 @@ class _ListWidgetState extends State<ListWidget> {
onTap: () { onTap: () {
GeoJsonFeature gf = GeoJsonFeature gf =
indexController.locations[0].collection[index]; indexController.locations[0].collection[index];
Destination des = destinationController.festuretoDestination(gf);
changeCurrentFeature(gf); changeCurrentFeature(gf);
showModalBottomSheet( showModalBottomSheet(
constraints: BoxConstraints.loose( constraints: BoxConstraints.loose(
@ -122,7 +123,7 @@ class _ListWidgetState extends State<ListWidget> {
isScrollControlled: true, isScrollControlled: true,
context: context, context: context,
//builder: (context) => BottomSheetWidget(), //builder: (context) => BottomSheetWidget(),
builder: ((context) => BottomSheetNew())); builder: ((context) => BottomSheetNew(destination: des,)));
}, },
leading: getImage(index), leading: getImage(index),
title: indexController.locations[0].collection[index] title: indexController.locations[0].collection[index]

View File

@ -7,6 +7,7 @@ import 'package:flutter_polyline_points/flutter_polyline_points.dart';
import 'package:geojson/geojson.dart'; import 'package:geojson/geojson.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:latlong2/latlong.dart'; import 'package:latlong2/latlong.dart';
import 'package:rogapp/model/destination.dart';
import 'package:rogapp/pages/destination/destination_controller.dart'; import 'package:rogapp/pages/destination/destination_controller.dart';
import 'package:rogapp/pages/index/index_controller.dart'; import 'package:rogapp/pages/index/index_controller.dart';
import 'package:rogapp/utils/text_util.dart'; import 'package:rogapp/utils/text_util.dart';
@ -41,13 +42,15 @@ class MapWidget extends StatelessWidget {
//print("----- fs is ${fs.properties!['photos']}"); //print("----- fs is ${fs.properties!['photos']}");
indexController.getAction(); indexController.getAction();
Destination des = destinationController.festuretoDestination(fs);
showModalBottomSheet( showModalBottomSheet(
constraints: constraints:
BoxConstraints.loose(Size(Get.width, Get.height * 0.75)), BoxConstraints.loose(Size(Get.width, Get.height * 0.75)),
context: context, context: context,
isScrollControlled: true, isScrollControlled: true,
isDismissible: true, isDismissible: true,
builder: ((context) => BottomSheetNew()) builder: ((context) => BottomSheetNew(destination: des,))
//builder:((context) => BottomSheetWidget()) //builder:((context) => BottomSheetWidget())
).whenComplete(() { ).whenComplete(() {
destinationController.skip_gps = false; destinationController.skip_gps = false;