Update: 2026-07-23 20:43:21

This commit is contained in:
Hamza-Ayed
2026-07-23 20:43:21 +03:00
parent 1e785061ec
commit 92eb7fe25d
5 changed files with 54 additions and 24 deletions
+25 -7
View File
@@ -1,3 +1,5 @@
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:jwt_decoder/jwt_decoder.dart';
import 'package:get/get.dart';
@@ -17,10 +19,8 @@ import '../functions/crud.dart';
import '../functions/encrypt_decrypt.dart';
class OtpHelper extends GetxController {
static final String _sendOtpUrl =
'${AppLink.server}/auth/otp/request.php';
static final String _verifyOtpUrl =
'${AppLink.server}/auth/otp/verify.php';
static final String _sendOtpUrl = '${AppLink.server}/auth/otp/request.php';
static final String _verifyOtpUrl = '${AppLink.server}/auth/otp/verify.php';
static final String _checkAdminLogin =
'${AppLink.server}/Admin/auth/login.php';
@@ -185,7 +185,13 @@ class OtpHelper extends GetxController {
await box.write(BoxName.phoneVerified, true);
await box.write('admin_password', password);
FirebaseMessaging.instance.subscribeToTopic('admin_alerts');
if (Platform.isAndroid || Platform.isIOS) {
try {
FirebaseMessaging.instance.subscribeToTopic('admin_alerts');
} catch (e) {
Log.print('FCM Subscribe error: $e');
}
}
mySnackbarSuccess('تم تسجيل الدخول بنجاح');
return true;
@@ -241,7 +247,13 @@ class OtpHelper extends GetxController {
String token = r(rawJwt.toString()).split(AppInformation.addd)[0];
if (!JwtDecoder.isExpired(token)) {
Log.print('Valid JWT found, skipping login.php (no OTP needed)');
FirebaseMessaging.instance.subscribeToTopic('admin_alerts');
if (Platform.isAndroid || Platform.isIOS) {
try {
FirebaseMessaging.instance.subscribeToTopic('admin_alerts');
} catch (e) {
Log.print('FCM Subscribe error: $e');
}
}
Get.offAll(() => const AdminHomePage());
return;
}
@@ -279,7 +291,13 @@ class OtpHelper extends GetxController {
} else if (response['jwt'] != null) {
box.write(BoxName.jwt, c(response['jwt']));
}
FirebaseMessaging.instance.subscribeToTopic('admin_alerts');
if (Platform.isAndroid || Platform.isIOS) {
try {
FirebaseMessaging.instance.subscribeToTopic('admin_alerts');
} catch (e) {
Log.print('FCM Subscribe error: $e');
}
}
try {
if (Get.isRegistered<DashboardController>()) {
Get.find<DashboardController>().getDashBoard();