This commit is contained in:
Hamza-Ayed
2025-08-06 01:10:52 +03:00
parent 57b7574657
commit 441385069c
49 changed files with 2577 additions and 1822 deletions

View File

@@ -4,6 +4,7 @@ import 'package:crypto/crypto.dart';
import 'dart:math';
import 'package:http/http.dart' as http;
import 'package:permission_handler/permission_handler.dart';
import 'package:secure_string_operations/secure_string_operations.dart';
import 'package:sefer_driver/controller/functions/location_background_controller.dart';
import 'package:sefer_driver/views/auth/captin/cards/sms_signup.dart';
@@ -49,6 +50,42 @@ class LoginDriverController extends GetxController {
update();
}
bool showManualForm = false;
bool isRegisterMode = false; // false = Login, true = Register
/// تبديل عرض نموذج الدخول/التسجيل اليدوي
void toggleManualFormView() {
showManualForm = !showManualForm;
// مسح الحقول عند إغلاق النموذج
if (!showManualForm) {
emailController.clear();
passwordController.clear();
}
update();
}
/// تبديل بين وضع تسجيل الدخول ووضع إنشاء حساب جديد
void toggleRegisterMode() {
isRegisterMode = !isRegisterMode;
update();
}
bool isRegistering = false;
void toggleRegistration() {
isRegistering = !isRegistering;
update();
}
bool isPasswordHidden = true;
void togglePasswordVisibility() {
isPasswordHidden = !isPasswordHidden;
update([
'passwordVisibility'
]); // Use a unique ID to only update the password field
}
void changeGoogleDashOpen() {
isGoogleDashOpen = !isGoogleDashOpen;
update();
@@ -195,8 +232,10 @@ class LoginDriverController extends GetxController {
}
Future<void> getLocationPermission() async {
Get.put(LocationBackgroundController()).requestLocationPermission();
var status = await Permission.locationAlways.status;
if (!status.isGranted) {
await Permission.locationAlways.request();
}
update();
}
@@ -229,9 +268,10 @@ class LoginDriverController extends GetxController {
loginWithGoogleCredential(String driverID, email) async {
isloading = true;
update();
await SecurityHelper.performSecurityChecks();
// await SecurityHelper.performSecurityChecks();
Log.print('(BoxName.emailDriver): ${box.read(BoxName.emailDriver)}');
Log.print('email: ${email}');
Log.print('driverID: ${driverID}');
var res = await CRUD().get(link: AppLink.loginFromGoogleCaptin, payload: {
'email': email,
'id': driverID,
@@ -312,10 +352,14 @@ class LoginDriverController extends GetxController {
key: BoxName.fingerPrint, value: fingerPrint.toString());
if (token != 'failure') {
Log.print(
'box.read(BoxName.tokenDriver): ${box.read(BoxName.tokenDriver)}');
Log.print(
' (jsonDecode(token): ${(jsonDecode(token)['data'][0]['token']).toString()}');
if ((jsonDecode(token)['data'][0]['token']) !=
(box.read(BoxName.tokenDriver))) {
Get.put(FirebaseMessagesController()).sendNotificationToDriverMAP(
'token change'.tr,
'token change',
'change device'.tr,
(jsonDecode(token)['data'][0]['token']).toString(),
[],
@@ -342,14 +386,7 @@ class LoginDriverController extends GetxController {
(box.read(BoxName.driverID)).toString(),
'fingerPrint': (fingerPrint).toString()
});
// await CRUD().post(
// link:
// "${AppLink.seferGizaServer}/ride/firebase/addDriver.php",
// payload: {
// 'token': box.read(BoxName.tokenDriver),
// 'captain_id':
// box.read(BoxName.driverID).toString()
// });
Get.back();
}));
}
@@ -374,7 +411,7 @@ class LoginDriverController extends GetxController {
loginUsingCredentialsWithoutGoogle(String password, email) async {
isloading = true;
isGoogleLogin = true;
update();
// update();
var res = await CRUD()
.get(link: AppLink.loginUsingCredentialsWithoutGoogle, payload: {
'email': (email),