From 8247032a5262cea29f7eba4f660170c6a3531565 Mon Sep 17 00:00:00 2001 From: Sikander Saleem Date: Wed, 24 Aug 2022 16:21:34 +0300 Subject: [PATCH] profile options linked with home page personal information. --- lib/models/profile_menu.model.dart | 9 +--- .../services_menu_list_screen.dart | 13 +++++ lib/ui/profile/widgets/profile_info.dart | 47 +++++-------------- 3 files changed, 27 insertions(+), 42 deletions(-) diff --git a/lib/models/profile_menu.model.dart b/lib/models/profile_menu.model.dart index f125893..b8039ad 100644 --- a/lib/models/profile_menu.model.dart +++ b/lib/models/profile_menu.model.dart @@ -1,12 +1,7 @@ -import 'package:mohem_flutter_app/models/dashboard/menu_entries.dart'; - class ProfileMenu { final String name; final String icon; final String route; - final String dynamicUrl; - final String functionName; - final String requestID; - final GetMenuEntriesList menuEntries; - ProfileMenu({this.name = '', this.icon = '', this.route = '', this.dynamicUrl = '', this.functionName = '', this.requestID = '', required this.menuEntries}); + + ProfileMenu({this.name = '', this.icon = '', this.route = ''}); } diff --git a/lib/ui/my_attendance/services_menu_list_screen.dart b/lib/ui/my_attendance/services_menu_list_screen.dart index fdf6e4f..eac127d 100644 --- a/lib/ui/my_attendance/services_menu_list_screen.dart +++ b/lib/ui/my_attendance/services_menu_list_screen.dart @@ -40,6 +40,19 @@ class ServicesMenuListScreen extends StatelessWidget { : ListView.separated( padding: const EdgeInsets.all(21), itemBuilder: (cxt, index) => itemView("assets/images/pdf.svg", servicesMenuData.list[index].prompt!).onPress(() { + if (servicesMenuData.list[index].parentMenuName == "MBL_PERINFO_SS") { + if (servicesMenuData.list[index].requestType == "BASIC_DETAILS") { + Navigator.pushNamed(context, AppRoutes.basicDetails); + } else if (servicesMenuData.list[index].requestType == "PHONE_NUMBERS") { + Navigator.pushNamed(context, AppRoutes.personalInfo); + } else if (servicesMenuData.list[index].requestType == "ADDRESS") { + Navigator.pushNamed(context, AppRoutes.contactDetails); + } else if (servicesMenuData.list[index].requestType == "CONTACT") { + Navigator.pushNamed(context, AppRoutes.familyMembers); + } + return; + } + Navigator.pushNamed(context, AppRoutes.dynamicScreen, arguments: DynamicListViewParams(servicesMenuData.list[index].prompt!, servicesMenuData.list[index].functionName!)); }), separatorBuilder: (cxt, index) => 12.height, diff --git a/lib/ui/profile/widgets/profile_info.dart b/lib/ui/profile/widgets/profile_info.dart index 63880b3..2be854e 100644 --- a/lib/ui/profile/widgets/profile_info.dart +++ b/lib/ui/profile/widgets/profile_info.dart @@ -8,52 +8,38 @@ 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/member_information_list_model.dart'; import 'package:mohem_flutter_app/models/profile_menu.model.dart'; -class ProfileInFo extends StatefulWidget { - ProfileInFo(this.memberInfo); - +class ProfileInFo extends StatelessWidget { MemberInformationListModel memberInfo; - @override - State createState() => _ProfileInFoState(); -} + ProfileInFo(this.memberInfo, {Key? key}) : super(key: key); -class _ProfileInFoState extends State { - static List menuData = []; - String data = '.'; - double sliderValue = 75; List menu = [ - ProfileMenu(name: LocaleKeys.profile_personalInformation.tr(), icon: 'personal-info.svg', route: AppRoutes.personalInfo, dynamicUrl: '', menuEntries: getMenuEntries('')), - ProfileMenu(name: LocaleKeys.profile_basicDetails.tr(), icon: 'basic-details.svg', route: AppRoutes.basicDetails, menuEntries: getMenuEntries('BASIC_DETAILS')), - ProfileMenu(name: LocaleKeys.profile_contactDetails.tr(), icon: 'contact-details.svg', route: AppRoutes.contactDetails, dynamicUrl: '', menuEntries: getMenuEntries('ADDRESS')), - ProfileMenu(name: LocaleKeys.profile_familyDetails.tr(), icon: 'family-members.svg', route: AppRoutes.familyMembers, dynamicUrl: '', menuEntries: getMenuEntries('CONTACT')), + ProfileMenu(name: LocaleKeys.profile_personalInformation.tr(), icon: 'personal-info.svg', route: AppRoutes.personalInfo), + ProfileMenu(name: LocaleKeys.profile_basicDetails.tr(), icon: 'basic-details.svg', route: AppRoutes.basicDetails), + ProfileMenu(name: LocaleKeys.profile_contactDetails.tr(), icon: 'contact-details.svg', route: AppRoutes.contactDetails), + ProfileMenu(name: LocaleKeys.profile_familyDetails.tr(), icon: 'family-members.svg', route: AppRoutes.familyMembers), ]; - @override - void setState(VoidCallback fn) { - super.setState(fn); - } - @override Widget build(BuildContext context) { return Column( crossAxisAlignment: CrossAxisAlignment.center, children: [ 16.height, - widget.memberInfo.eMPLOYEENAME!.toText22(), - ("${widget.memberInfo.eMPLOYEENUMBER!} | ${widget.memberInfo.jOBNAME!}").toText13(color: MyColors.grey80Color), - widget.memberInfo.eMPLOYEEEMAILADDRESS!.toText13(), + memberInfo.eMPLOYEENAME!.toText22(), + ("${memberInfo.eMPLOYEENUMBER!} | ${memberInfo.jOBNAME!}").toText13(color: MyColors.grey80Color), + memberInfo.eMPLOYEEEMAILADDRESS!.toText13(), 12.height, const Divider(height: 8, thickness: 8, color: MyColors.lightGreyEFColor), 12.height, LocaleKeys.completingYear.tr().toText11(), Row(children: [ - appreciationTime(LocaleKeys.year.tr(), widget.memberInfo.sERVICEYEARS.toString()), - appreciationTime(LocaleKeys.month.tr(), widget.memberInfo.sERVICEMONTHS.toString()), - appreciationTime(LocaleKeys.day.tr(), widget.memberInfo.sERVICEDAYS.toString()), + appreciationTime(LocaleKeys.year.tr(), memberInfo.sERVICEYEARS.toString()), + appreciationTime(LocaleKeys.month.tr(), memberInfo.sERVICEMONTHS.toString()), + appreciationTime(LocaleKeys.day.tr(), memberInfo.sERVICEDAYS.toString()), ]).paddingOnly(bottom: 12, top: 12), const Divider(height: 8, thickness: 8, color: MyColors.lightGreyEFColor), Column( @@ -120,12 +106,3 @@ class _ProfileInFoState extends State { ).expanded; } } - -GetMenuEntriesList getMenuEntries(String type) { - List data = _ProfileInFoState.menuData.where((GetMenuEntriesList test) => test.functionName == type).toList(); - if (data.isNotEmpty) { - return data[0]; - } else { - return GetMenuEntriesList(); - } -}