import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/material.dart'; import 'package:mohem_flutter_app/api/profile_api_client.dart'; import 'package:mohem_flutter_app/classes/colors.dart'; import 'package:mohem_flutter_app/config/routes.dart'; import 'package:mohem_flutter_app/extensions/int_extensions.dart'; import 'package:mohem_flutter_app/extensions/string_extensions.dart'; import 'package:mohem_flutter_app/extensions/widget_extensions.dart'; import 'package:mohem_flutter_app/generated/locale_keys.g.dart'; import 'package:mohem_flutter_app/models/dashboard/menu_entries.dart'; import 'package:mohem_flutter_app/models/get_employee_contacts.model.dart'; import 'package:mohem_flutter_app/ui/my_attendance/dynamic_screens/dynamic_listview_screen.dart'; import 'package:mohem_flutter_app/widgets/app_bar_widget.dart'; class ChildEducationAssistance extends StatelessWidget { ChildEducationAssistance({Key? key}) : super(key: key); GetMenuEntriesList? menuEntry; @override Widget build(BuildContext context) { menuEntry ??= ModalRoute.of(context)!.settings.arguments as GetMenuEntriesList; return Scaffold( backgroundColor: Colors.white, appBar: AppBarWidget(context, title: menuEntry!.prompt!), body: FutureBuilder( future: ProfileApiClient().getEmployeeContacts(), builder: (BuildContext cxt, AsyncSnapshot> snapshot) { if (snapshot.connectionState == ConnectionState.waiting) { return const Center(child: CircularProgressIndicator()); } else if (snapshot.hasData) { List empContactList = snapshot.data!; return ListView.separated( padding: const EdgeInsets.all(21), separatorBuilder: (BuildContext cxt, int index) => 12.height, itemCount: empContactList.length, itemBuilder: (BuildContext context, int index) { return Column( crossAxisAlignment: CrossAxisAlignment.start, mainAxisSize: MainAxisSize.min, children: [ "${empContactList[index].cONTACTNAME}".toText16(color: MyColors.grey3AColor), "${LocaleKeys.dateOfBirth.tr()}: ${empContactList[index].dATEOFBIRTH?.split(" ").first ?? ""}".toText14(color: MyColors.grey3AColor, weight: FontWeight.w400), "${empContactList[index].rELATIONSHIP}".toText11(color: MyColors.textMixColor), ], ).objectContainerView(disablePadding: false, center: false).onPress(() { Navigator.pushNamed(context, AppRoutes.dynamicScreen, arguments: DynamicListViewParams(empContactList[index].cONTACTNAME!, menuEntry!.functionName!, pContactRelationshipId: empContactList[index].cONTACTRELATIONSHIPID)); }); }); } else { return LocaleKeys.noDataAvailable.tr().toText16().center; } }, ), ); } }