admin 26-5-2

This commit is contained in:
Hamza-Ayed
2026-05-02 15:16:30 +03:00
parent 5fc160e374
commit 0d9fab31bd
21 changed files with 1636 additions and 260 deletions

View File

@@ -11,6 +11,7 @@ import '../../main.dart';
import '../../print.dart';
import '../../views/admin/admin_home_page.dart';
import '../../views/widgets/snackbar.dart';
import '../admin/dashboard_controller.dart';
import '../functions/crud.dart';
import '../functions/encrypt_decrypt.dart';
@@ -92,7 +93,8 @@ class OtpHelper extends GetxController {
if (response != 'failure') {
// إذا كان الرد يتطلب OTP (السيرفر يرجعها بداخل message)
final msg = response['message'];
if (response['status'] == 'otp_required' || (msg is Map && msg['status'] == 'otp_required')) {
if (response['status'] == 'otp_required' ||
(msg is Map && msg['status'] == 'otp_required')) {
String phone = (msg is Map ? msg['phone'] : response['phone']) ?? '';
_showOtpDialog(phone, password, fingerprint);
return false; // ننتظر إكمال الـ OTP
@@ -127,6 +129,11 @@ class OtpHelper extends GetxController {
if (response != 'failure') {
bool success = await _handleLoginSuccess(response, password);
if (success) {
try {
if (Get.isRegistered<DashboardController>()) {
Get.find<DashboardController>().getDashBoard();
}
} catch (e) {}
Get.offAll(() => const AdminHomePage());
}
}
@@ -152,7 +159,8 @@ class OtpHelper extends GetxController {
await box.write('admin_role', role);
Log.print('Admin role saved: $role');
}
if (data['phone'] != null) await box.write(BoxName.adminPhone, data['phone']);
if (data['phone'] != null)
await box.write(BoxName.adminPhone, data['phone']);
}
await box.write(BoxName.phoneVerified, true);
@@ -234,7 +242,8 @@ class OtpHelper extends GetxController {
if (response != 'failure') {
final msg = response['message'];
if (response['status'] == 'otp_required' || (msg is Map && msg['status'] == 'otp_required')) {
if (response['status'] == 'otp_required' ||
(msg is Map && msg['status'] == 'otp_required')) {
String phone = (msg is Map ? msg['phone'] : response['phone']) ?? '';
_showOtpDialog(phone, password, fingerprint);
return; // ننتظر إدخال رمز التحقق
@@ -248,6 +257,11 @@ class OtpHelper extends GetxController {
} else if (response['jwt'] != null) {
box.write(BoxName.jwt, c(response['jwt']));
}
try {
if (Get.isRegistered<DashboardController>()) {
Get.find<DashboardController>().getDashBoard();
}
} catch (e) {}
Get.offAll(() => const AdminHomePage());
} else {
Log.print('Auto-login failed, redirecting to login page');