import 'package:easy_localization/src/public_ext.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/classes/utils.dart'; import 'package:mohem_flutter_app/dialogs/otp_dialog.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/get_employee_basic_details.model.dart'; import 'package:mohem_flutter_app/models/get_employee_contacts.model.dart'; import 'package:mohem_flutter_app/ui/profile/profile.dart'; import 'package:mohem_flutter_app/widgets/app_bar_widget.dart'; import 'package:mohem_flutter_app/widgets/button/default_button.dart'; class FamilyMembers extends StatefulWidget { const FamilyMembers({Key? key}) : super(key: key); @override _FamilyMembersState createState() => _FamilyMembersState(); } class _FamilyMembersState extends State { List getEmployeeContactsList = []; @override void initState() { super.initState(); getEmployeeContacts(); } void getEmployeeContacts() async { try { Utils.showLoading(context); getEmployeeContactsList = await ProfileApiClient().getEmployeeContacts(); Utils.hideLoading(context); setState(() {}); } catch (ex) { Utils.hideLoading(context); Utils.handleException(ex, context, null); } } Widget build(BuildContext context) { return Scaffold( appBar: AppBarWidget( context, title: LocaleKeys.profile_familyDetails.tr(), ), backgroundColor: MyColors.backgroundColor, bottomSheet:footer(), body: Container( width: MediaQuery.of(context).size.width, child: getEmployeeContactsList.length != 0 ? SingleChildScrollView( scrollDirection: Axis.vertical, child: Column( children: [ ListView.builder( scrollDirection: Axis.vertical, shrinkWrap: true, physics: ScrollPhysics(), itemCount: getEmployeeContactsList.length, itemBuilder: (context, index) { return Container( child: Column( children: [ Container( width: double.infinity, margin: EdgeInsets.only(top: 20, left: 21, right: 21,), padding: EdgeInsets.only(left: 14, right: 14,top: 13, ), height: 110, decoration: BoxDecoration( boxShadow: [ BoxShadow( color: Colors.grey.withOpacity(0.5), spreadRadius: 5, blurRadius: 26, offset: Offset(0, 3), ), ], color: Colors.white, borderRadius: BorderRadius.circular(10.0), ), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ "${getEmployeeContactsList[index].cONTACTNAME}".toText16(color: MyColors.blackColor), "${getEmployeeContactsList[index].rELATIONSHIP}".toText11(isBold: true, color: MyColors.textMixColor), SizedBox(height: 5,), Divider( color: MyColors.lightGreyEFColor, height: 20, thickness: 1, indent: 0, endIndent: 0, ), Row( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ Container( child: InkWell( onTap: () { }, child: RichText( text: TextSpan( children: [ WidgetSpan( child: Icon( Icons.edit, size: 15, color: MyColors.grey67Color, ), ), TextSpan( text: LocaleKeys.update.tr(), style: TextStyle( color: MyColors.grey67Color, fontSize: 12, fontWeight: FontWeight.bold, ), ), ], ), ), ) ), Padding( padding: const EdgeInsets.symmetric(horizontal: 8), child: SizedBox( child: Container( width: 3, color: MyColors.lightGreyEFColor, ), ), ), Container( child: InkWell( onTap: () { showAlertDialog(context); }, child: RichText( text: TextSpan( children: [ WidgetSpan( child: Icon( Icons.delete, size: 15, color: Color(0x99FF0000), ), ), TextSpan( text:LocaleKeys.remove.tr(), style: TextStyle( color: MyColors.DarkRedColor, fontSize: 12, fontWeight: FontWeight.bold, ), ), ], ), ), ) ), // ElevatedButton.icon( // icon: Icon( // Icons.delete, // size: 15, // color: Color(0x99FF0000), // ), // style: ElevatedButton.styleFrom( // shadowColor: Colors.white, // primary: Colors.white, // ), // label: "remove".toText12(color: MyColors.DarkRedColor), // onPressed: (){}, // ), ], ), ] ), ), ], ) ); }) ], ), ):Container(), // SizedBox(height: 20), ) ); } footer(){ return Container( decoration: BoxDecoration( // borderRadius: BorderRadius.circular(10), color: MyColors.white, boxShadow: [ BoxShadow(color: MyColors.lightGreyEFColor, spreadRadius: 3), ], ), child: DefaultButton(LocaleKeys.update.tr(), () async { // context.setLocale(const Locale("en", "US")); // to change Loacle Profile(); }).insideContainer, ); } showAlertDialog(BuildContext context) { Widget cancelButton = TextButton( child: Text(LocaleKeys.cancel.tr(),), onPressed: () { Navigator.pop(context); }, ); Widget continueButton = TextButton( child: Text(LocaleKeys.ok.tr(),), onPressed: () {}, ); AlertDialog alert = AlertDialog( title: Text(LocaleKeys.confirm.tr(),), content: Text("Are You Sure You Want to Remove this Member?"), actions: [ cancelButton, continueButton, ], ); showDialog( context: context, builder: (BuildContext context) { return alert; }, ); } }