import 'package:rasadyar_app/presentation/routes/app_pages.dart'; import 'package:rasadyar_core/core.dart'; class ModulesLogic extends GetxController { TokenStorageService tokenService = Get.find(); RxBool isLoading = false.obs; List moduleList = [ ModuleModel(title: 'بازرسی', icon: Assets.icons.inspection.path, module: Module.inspection), ModuleModel(title: 'دام', icon: Assets.icons.liveStock.path, module: Module.liveStocks), ModuleModel(title: 'مرغ', icon: Assets.icons.liveStock.path, module: Module.chicken), ]; RxnInt selectedIndex = RxnInt(null); @override void onReady() { super.onReady(); } @override void onClose() { super.onClose(); } void saveModule(Module module) { tokenService.saveModule(module); tokenService.appModule.value = module; } void onTapCard(Module module, int index) async { isLoading.value = !isLoading.value; selectedIndex.value = index; await Future.delayed(Duration(milliseconds: 200)); // Simulate loading delay navigateToModule(module); } Future navigateToModule(Module module) async { var target = getAuthTargetPage(module).entries.first; if (target.value != null) { await target.value; } isLoading.value = !isLoading.value; Get.toNamed(target.key, arguments: module); } }