import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:rasadyar_core/core.dart'; import 'logic.dart'; class ModulesPage extends GetView { const ModulesPage({super.key}); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('انتخاب سامانه', style: AppFonts.yekan18.copyWith(color: Colors.white)), centerTitle: true, backgroundColor: AppColor.blueNormal, ), body: Stack( fit: StackFit.expand, alignment: Alignment.center, children: [ GridView.builder( padding: EdgeInsets.symmetric(horizontal: 10, vertical: 20), itemBuilder: (context, index) { final module = controller.moduleList[index]; return CardIcon( title: module.title, icon: module.icon, onTap: () => controller.onTapCard(module.module, index), ); }, gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( crossAxisCount: 3, mainAxisSpacing: 10, crossAxisSpacing: 10, ), physics: BouncingScrollPhysics(), itemCount: controller.moduleList.length, ), ObxValue((loading) { if (!controller.isLoading.value) return SizedBox.shrink(); return Container( color: Colors.grey.withValues(alpha: 0.5), child: Center( child: CupertinoActivityIndicator(color: AppColor.greenNormal, radius: 30), ), ); }, controller.isLoading), ], ), ); } }