import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:siro_admin/constant/links.dart'; import 'package:siro_admin/controller/functions/crud.dart'; import 'package:siro_admin/main.dart'; import 'package:siro_admin/views/widgets/snackbar.dart'; class AdminRegisterController extends GetxController { final nameCtrl = TextEditingController(); final phoneCtrl = TextEditingController(); final passCtrl = TextEditingController(); final formKey = GlobalKey(); var isLoading = false.obs; Future register() async { if (!formKey.currentState!.validate()) return; isLoading.value = true; try { // جلب البصمة، وإذا لم تكن موجودة يمكن محاولة توليدها أو طلبها String fingerprint = box.read('fingerprint') ?? ''; final response = await CRUD().post( link: '${AppLink.server}/Admin/auth/register.php', payload: { 'name': nameCtrl.text.trim(), 'phone': phoneCtrl.text.trim(), 'password': passCtrl.text.trim(), 'fingerprint': fingerprint, }, ); if (response != 'failure') { if (response['status'] == 'pending') { mySnackbarSuccess(response['message'] ?? 'تم تقديم الطلب بنجاح'); Future.delayed(const Duration(seconds: 2), () => Get.back()); } else { mySnackbarError('حدث خطأ غير متوقع'); } } } catch (e) { mySnackbarError('فشل في الاتصال بالخادم'); } finally { isLoading.value = false; } } @override void dispose() { nameCtrl.dispose(); phoneCtrl.dispose(); passCtrl.dispose(); super.dispose(); } }