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<List<GetEmployeeContactsList>> snapshot) {
          if (snapshot.connectionState == ConnectionState.waiting) {
            return const Center(child: CircularProgressIndicator());
          } else if (snapshot.hasData) {
            List<GetEmployeeContactsList> 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;
          }
        },
      ),
    );
  }
}
