added reset button and fix history
This commit is contained in:
@ -335,8 +335,6 @@ class DestinationController extends GetxController {
|
|||||||
is_gps_selected.value = true;
|
is_gps_selected.value = true;
|
||||||
skip_gps = false;
|
skip_gps = false;
|
||||||
|
|
||||||
saveGameState();
|
|
||||||
|
|
||||||
_start = 0;
|
_start = 0;
|
||||||
chekcs = 0;
|
chekcs = 0;
|
||||||
rogaining_counted.value = false;
|
rogaining_counted.value = false;
|
||||||
@ -348,16 +346,21 @@ class DestinationController extends GetxController {
|
|||||||
print("===== last goal : $last_goal_at =====");
|
print("===== last goal : $last_goal_at =====");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//deleteDBDestinations();
|
||||||
|
|
||||||
|
// currentSelectedDestinations.forEach((element) {
|
||||||
|
// deleteDestination(element);
|
||||||
|
// });
|
||||||
|
}
|
||||||
|
|
||||||
|
void deleteAllDestinations() {
|
||||||
|
DatabaseHelper db = DatabaseHelper.instance;
|
||||||
db.deleteAllDestinations().then((value) {
|
db.deleteAllDestinations().then((value) {
|
||||||
PopulateDestinations();
|
PopulateDestinations();
|
||||||
startGPSTimer();
|
startGPSTimer();
|
||||||
startGame();
|
startGame();
|
||||||
//initGPS();
|
//initGPS();
|
||||||
});
|
});
|
||||||
|
|
||||||
// currentSelectedDestinations.forEach((element) {
|
|
||||||
// deleteDestination(element);
|
|
||||||
// });
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void openCamera(BuildContext context) {
|
void openCamera(BuildContext context) {
|
||||||
@ -824,7 +827,7 @@ class DestinationController extends GetxController {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void deleteAllDestinations() {
|
void deleteDBDestinations() {
|
||||||
DatabaseHelper db = DatabaseHelper.instance;
|
DatabaseHelper db = DatabaseHelper.instance;
|
||||||
db.deleteAllDestinations().then((value) {
|
db.deleteAllDestinations().then((value) {
|
||||||
PopulateDestinations();
|
PopulateDestinations();
|
||||||
|
|||||||
@ -1,13 +1,13 @@
|
|||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.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/routes/app_pages.dart';
|
import 'package:rogapp/routes/app_pages.dart';
|
||||||
import 'package:rogapp/services/auth_service.dart';
|
import 'package:rogapp/services/auth_service.dart';
|
||||||
import 'package:url_launcher/url_launcher.dart';
|
import 'package:url_launcher/url_launcher.dart';
|
||||||
|
|
||||||
class DrawerPage extends StatelessWidget {
|
class DrawerPage extends StatelessWidget {
|
||||||
DrawerPage({ Key? key }) : super(key: key);
|
DrawerPage({Key? key}) : super(key: key);
|
||||||
|
|
||||||
final IndexController indexController = Get.find<IndexController>();
|
final IndexController indexController = Get.find<IndexController>();
|
||||||
|
|
||||||
@ -27,71 +27,109 @@ class DrawerPage extends StatelessWidget {
|
|||||||
Container(
|
Container(
|
||||||
height: 100,
|
height: 100,
|
||||||
color: Colors.amber,
|
color: Colors.amber,
|
||||||
child: Obx(() =>
|
child: Obx(() => Center(
|
||||||
Center(
|
child: Padding(
|
||||||
child: Padding(
|
padding: const EdgeInsets.all(8.0),
|
||||||
padding: const EdgeInsets.all(8.0),
|
child: indexController.currentUser.isEmpty
|
||||||
child:
|
? Flexible(
|
||||||
indexController.currentUser.isEmpty ?
|
child: Text(
|
||||||
Flexible(child: Text("drawer_title".tr, style: const TextStyle(color: Colors.black, fontSize: 20),))
|
"drawer_title".tr,
|
||||||
:
|
style: const TextStyle(
|
||||||
Text(indexController.currentUser[0]['user']['email'], style: const TextStyle(color: Colors.black, fontSize: 20),),
|
color: Colors.black, fontSize: 20),
|
||||||
),
|
))
|
||||||
)
|
: Text(
|
||||||
),
|
indexController.currentUser[0]['user']['email'],
|
||||||
|
style: const TextStyle(
|
||||||
|
color: Colors.black, fontSize: 20),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)),
|
||||||
),
|
),
|
||||||
Obx(() =>
|
Obx(() => indexController.currentUser.isEmpty
|
||||||
indexController.currentUser.isEmpty ?
|
? ListTile(
|
||||||
ListTile(
|
leading: const Icon(Icons.login),
|
||||||
leading: const Icon(Icons.login),
|
title: Text("login".tr),
|
||||||
title: Text("login".tr),
|
onTap: () {
|
||||||
onTap: (){
|
Get.toNamed(AppPages.LOGIN);
|
||||||
Get.toNamed(AppPages.LOGIN);
|
},
|
||||||
},
|
)
|
||||||
) :
|
: ListTile(
|
||||||
ListTile(
|
leading: const Icon(Icons.login),
|
||||||
leading: const Icon(Icons.login),
|
title: Text("logout".tr),
|
||||||
title: Text("logout".tr),
|
onTap: () {
|
||||||
onTap: (){
|
indexController.logout();
|
||||||
indexController.logout();
|
Get.toNamed(AppPages.LOGIN);
|
||||||
Get.toNamed(AppPages.LOGIN);
|
},
|
||||||
},
|
)),
|
||||||
)
|
indexController.currentUser.isNotEmpty
|
||||||
),
|
? ListTile(
|
||||||
indexController.currentUser.isNotEmpty ?
|
leading: const Icon(Icons.password),
|
||||||
ListTile(
|
title: Text("change_password".tr),
|
||||||
leading: const Icon(Icons.password),
|
onTap: () {
|
||||||
title: Text("change_password".tr),
|
Get.toNamed(AppPages.CHANGE_PASSWORD);
|
||||||
onTap: (){
|
},
|
||||||
Get.toNamed(AppPages.CHANGE_PASSWORD);
|
)
|
||||||
},
|
: const SizedBox(
|
||||||
) :
|
width: 0,
|
||||||
const SizedBox(width: 0, height: 0,),
|
height: 0,
|
||||||
indexController.currentUser.isEmpty ?
|
),
|
||||||
ListTile(
|
indexController.currentUser.isEmpty
|
||||||
leading: const Icon(Icons.person),
|
? ListTile(
|
||||||
title: Text("sign_up".tr),
|
leading: const Icon(Icons.person),
|
||||||
onTap: (){
|
title: Text("sign_up".tr),
|
||||||
Get.toNamed(AppPages.REGISTER);
|
onTap: () {
|
||||||
},
|
Get.toNamed(AppPages.REGISTER);
|
||||||
) :
|
},
|
||||||
const SizedBox(width: 0, height: 0,),
|
)
|
||||||
indexController.currentUser.isNotEmpty ?
|
: const SizedBox(
|
||||||
ListTile(
|
width: 0,
|
||||||
leading: const Icon(Icons.delete_forever),
|
height: 0,
|
||||||
title: Text("delete_account".tr),
|
),
|
||||||
onTap: (){
|
indexController.currentUser.isNotEmpty
|
||||||
String _token = indexController.currentUser[0]['token'];
|
? ListTile(
|
||||||
AuthService.deleteUser(_token).then((value){
|
leading: const Icon(Icons.password),
|
||||||
if(value.isNotEmpty){
|
title: const Text("リセット"),
|
||||||
indexController.logout();
|
onTap: () {
|
||||||
Get.toNamed(AppPages.TRAVEL);
|
Get.defaultDialog(
|
||||||
Get.snackbar("accounted_deleted".tr, "account_deleted_message".tr);
|
title: "よろしいですか、リセットしますか?",
|
||||||
}
|
middleText: "これにより、すべてのゲーム データが削除され、すべての状態が削除されます",
|
||||||
});
|
textConfirm: "確認する",
|
||||||
},
|
textCancel: "キャンセルする",
|
||||||
) :
|
onCancel: () => Get.back(),
|
||||||
const SizedBox(width: 0, height: 0,),
|
onConfirm: () {
|
||||||
|
DestinationController destinationController =
|
||||||
|
Get.find<DestinationController>();
|
||||||
|
destinationController.resetRogaining();
|
||||||
|
destinationController.deleteDBDestinations();
|
||||||
|
Get.back();
|
||||||
|
},
|
||||||
|
);
|
||||||
|
},
|
||||||
|
)
|
||||||
|
: const SizedBox(
|
||||||
|
width: 0,
|
||||||
|
height: 0,
|
||||||
|
),
|
||||||
|
indexController.currentUser.isNotEmpty
|
||||||
|
? ListTile(
|
||||||
|
leading: const Icon(Icons.delete_forever),
|
||||||
|
title: Text("delete_account".tr),
|
||||||
|
onTap: () {
|
||||||
|
String _token = indexController.currentUser[0]['token'];
|
||||||
|
AuthService.deleteUser(_token).then((value) {
|
||||||
|
if (value.isNotEmpty) {
|
||||||
|
indexController.logout();
|
||||||
|
Get.toNamed(AppPages.TRAVEL);
|
||||||
|
Get.snackbar("accounted_deleted".tr,
|
||||||
|
"account_deleted_message".tr);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
)
|
||||||
|
: const SizedBox(
|
||||||
|
width: 0,
|
||||||
|
height: 0,
|
||||||
|
),
|
||||||
// ListTile(
|
// ListTile(
|
||||||
// leading: const Icon(Icons.person),
|
// leading: const Icon(Icons.person),
|
||||||
// title: Text("profile".tr),
|
// title: Text("profile".tr),
|
||||||
@ -107,19 +145,22 @@ class DrawerPage extends StatelessWidget {
|
|||||||
// title: Text("point_rank".tr),
|
// title: Text("point_rank".tr),
|
||||||
// onTap: (){},
|
// onTap: (){},
|
||||||
// ),
|
// ),
|
||||||
indexController.currentUser.isNotEmpty ?
|
indexController.currentUser.isNotEmpty
|
||||||
ListTile(
|
? ListTile(
|
||||||
leading: const Icon(Icons.featured_video),
|
leading: const Icon(Icons.featured_video),
|
||||||
title: Text("rog_web".tr),
|
title: Text("rog_web".tr),
|
||||||
onTap: (){
|
onTap: () {
|
||||||
_launchURL("https://www.gifuai.net/?page_id=17397");
|
_launchURL("https://www.gifuai.net/?page_id=17397");
|
||||||
},
|
},
|
||||||
) :
|
)
|
||||||
const SizedBox(width: 0, height: 0,),
|
: const SizedBox(
|
||||||
|
width: 0,
|
||||||
|
height: 0,
|
||||||
|
),
|
||||||
ListTile(
|
ListTile(
|
||||||
leading: const Icon(Icons.privacy_tip),
|
leading: const Icon(Icons.privacy_tip),
|
||||||
title: Text("privacy".tr),
|
title: Text("privacy".tr),
|
||||||
onTap: (){
|
onTap: () {
|
||||||
_launchURL("https://rogaining.sumasen.net/api/privacy/");
|
_launchURL("https://rogaining.sumasen.net/api/privacy/");
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
@ -138,4 +179,4 @@ class DrawerPage extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user