64 lines
2.9 KiB
Diff
64 lines
2.9 KiB
Diff
diff --git a/intaleq_rider/lib/controller/auth/otp_controller.dart b/intaleq_rider/lib/controller/auth/otp_controller.dart
|
|
index 03da3ca..da684c2 100644
|
|
--- a/intaleq_rider/lib/controller/auth/otp_controller.dart
|
|
+++ b/intaleq_rider/lib/controller/auth/otp_controller.dart
|
|
@@ -97,6 +97,15 @@ class PhoneAuthHelper {
|
|
// ✅ المستخدم موجود مسبقاً -> تسجيل دخول مباشر
|
|
await _handleSuccessfulLogin(data['message']['passenger']);
|
|
} else {
|
|
+ // ✅ Save the new JWT token for registration before navigating
|
|
+ final jwtToken = data['message']?['jwt'] ??
|
|
+ data['message']?['token'] ??
|
|
+ data['message']?['access_token'];
|
|
+ if (jwtToken != null && jwtToken.toString().isNotEmpty) {
|
|
+ box.write(BoxName.jwt, c(jwtToken.toString()));
|
|
+ await storage.write(
|
|
+ key: BoxName.jwt, value: c(jwtToken.toString()));
|
|
+ }
|
|
// ✅ مستخدم جديد -> الذهاب لصفحة التسجيل
|
|
mySnackbarSuccess(
|
|
'Phone verified. Please complete registration.'.tr);
|
|
@@ -144,13 +153,16 @@ class PhoneAuthHelper {
|
|
},
|
|
);
|
|
final data = (response);
|
|
- if (data != 'failure') {
|
|
- // Registration successful, log user in
|
|
-
|
|
- await _handleSuccessfulLogin(data['message']['data']);
|
|
+ if (data != 'failure' && data is Map) {
|
|
+ if (data['status'] == 'success') {
|
|
+ // Registration successful, log user in
|
|
+ await _handleSuccessfulLogin(data['message']['data']);
|
|
+ } else {
|
|
+ mySnackbarError(
|
|
+ data['message']?.toString() ?? "Registration failed.".tr);
|
|
+ }
|
|
} else {
|
|
- mySnackbarError(
|
|
- "User with this phone number or email already exists.".tr);
|
|
+ mySnackbarError("Server error or user already exists.".tr);
|
|
}
|
|
} catch (e) {
|
|
Log.print('e: ${e}');
|
|
diff --git a/intaleq_rider/lib/controller/payment/payment_controller.dart b/intaleq_rider/lib/controller/payment/payment_controller.dart
|
|
index 7a2208e..1eeb41f 100644
|
|
--- a/intaleq_rider/lib/controller/payment/payment_controller.dart
|
|
+++ b/intaleq_rider/lib/controller/payment/payment_controller.dart
|
|
@@ -53,8 +53,13 @@ class PaymentController extends GetxController {
|
|
await CRUD().getWallet(
|
|
link: AppLink.getWalletByPassenger,
|
|
payload: {'passenger_id': box.read(BoxName.passengerID)}).then((value) {
|
|
- box.write(BoxName.passengerWalletTotal,
|
|
- value['message'][0]['total'].toString());
|
|
+ final msg = value['message'];
|
|
+ if (msg is List && msg.isNotEmpty) {
|
|
+ box.write(BoxName.passengerWalletTotal,
|
|
+ (msg[0]['total'] ?? '0').toString());
|
|
+ } else {
|
|
+ box.write(BoxName.passengerWalletTotal, '0');
|
|
+ }
|
|
});
|
|
isLoading = false;
|
|
update();
|