profile options linked with home page personal information.

faiz_marathon_signalR_critical
Sikander Saleem 2 years ago
parent bd73685bb4
commit 8247032a52

@ -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 = ''});
}

@ -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,

@ -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<ProfileInFo> createState() => _ProfileInFoState();
}
ProfileInFo(this.memberInfo, {Key? key}) : super(key: key);
class _ProfileInFoState extends State<ProfileInFo> {
static List<GetMenuEntriesList> menuData = [];
String data = '.';
double sliderValue = 75;
List<ProfileMenu> 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<ProfileInFo> {
).expanded;
}
}
GetMenuEntriesList getMenuEntries(String type) {
List<GetMenuEntriesList> data = _ProfileInFoState.menuData.where((GetMenuEntriesList test) => test.functionName == type).toList();
if (data.isNotEmpty) {
return data[0];
} else {
return GetMenuEntriesList();
}
}

Loading…
Cancel
Save