import 'dart:convert'; import 'package:flutter/material.dart'; import 'package:flutter_secure_storage/flutter_secure_storage.dart'; import 'package:get/get.dart'; import 'package:ride/constant/box_name.dart'; import 'package:ride/constant/links.dart'; import 'package:ride/controller/functions/crud.dart'; import 'package:ride/main.dart'; import 'package:ride/views/home/map_page.dart'; class LoginController extends GetxController { final formKey = GlobalKey(); TextEditingController emailController = TextEditingController(); TextEditingController phoneController = TextEditingController(); TextEditingController passwordController = TextEditingController(); bool isAgreeTerms = false; bool isloading = false; final FlutterSecureStorage _storage = FlutterSecureStorage(); void changeAgreeTerm() { isAgreeTerms = !isAgreeTerms; print(isAgreeTerms); update(); } void saveAgreementTerms() { box.write(BoxName.agreeTerms, 'agreed'); update(); } void saveData(String key, value) async { await _storage.write(key: key, value: value); } Future readData(String boxName) async { final String? value = await _storage.read(key: boxName); return value; } void login() async { isloading = true; update(); var res = await CRUD().get(link: AppLink.login, payload: { 'email': emailController.text, 'phone': phoneController.text, 'password': passwordController.text }); var jsonDecoeded = jsonDecode(res); // print(jsonDecoeded); if (jsonDecoeded.isNotEmpty) { if (jsonDecoeded['status'] == 'success') { box.write(BoxName.pasengerID, jsonDecoeded['data'][0]['id']); box.write(BoxName.email, jsonDecoeded['data'][0]['email']); box.write(BoxName.phone, jsonDecoeded['data'][0]['phone']); Get.offAll(() => MapPage()); isloading = false; update(); print(box.read(BoxName.pasengerID).toString()); await CRUD().post(link: AppLink.addTokens, payload: { 'token': box.read(BoxName.tokenFCM.toString()), 'passengerID': box.read(BoxName.pasengerID).toString() }).then((value) => print('cccc')); } else if (jsonDecoeded['status'] == 'Failure') { Get.snackbar(jsonDecoeded['status'], jsonDecoeded['data'], backgroundColor: Colors.redAccent); isloading = false; update(); } } else { print('res is null'); } } goToMapPage() { if (box.read(BoxName.email) != null) { Get.offAll(() => const MapPage()); } } @override void onInit() { super.onInit(); goToMapPage(); } }