diff --git a/assets/images/drawer/help.png b/assets/images/drawer/help.png new file mode 100644 index 0000000..89e95d1 Binary files /dev/null and b/assets/images/drawer/help.png differ diff --git a/assets/images/drawer/hierarchy.png b/assets/images/drawer/hierarchy.png new file mode 100644 index 0000000..5c194f6 Binary files /dev/null and b/assets/images/drawer/hierarchy.png differ diff --git a/assets/images/drawer/moe_logo.png b/assets/images/drawer/moe_logo.png new file mode 100644 index 0000000..da66b11 Binary files /dev/null and b/assets/images/drawer/moe_logo.png differ diff --git a/assets/images/drawer/moe_logo_full.png b/assets/images/drawer/moe_logo_full.png new file mode 100644 index 0000000..537de9c Binary files /dev/null and b/assets/images/drawer/moe_logo_full.png differ diff --git a/assets/images/drawer/my_team_icon.png b/assets/images/drawer/my_team_icon.png new file mode 100644 index 0000000..980c59c Binary files /dev/null and b/assets/images/drawer/my_team_icon.png differ diff --git a/assets/images/drawer/notices.png b/assets/images/drawer/notices.png new file mode 100644 index 0000000..15927f5 Binary files /dev/null and b/assets/images/drawer/notices.png differ diff --git a/assets/images/drawer/profile_icon.png b/assets/images/drawer/profile_icon.png new file mode 100644 index 0000000..596d11a Binary files /dev/null and b/assets/images/drawer/profile_icon.png differ diff --git a/assets/langs/ar-SA.json b/assets/langs/ar-SA.json index ee021ee..57996d1 100644 --- a/assets/langs/ar-SA.json +++ b/assets/langs/ar-SA.json @@ -307,6 +307,7 @@ "actionBy": "الرد بواسطة", "pending": "معلق", "pendingTransactions": "المعاملات المعلقه", + "notices": "إشعارات", "selectRequestType": "الرجاء اختيار نوع الطلب", "dateFrom": "من تاريخ", "dateTo": "الى تاريخ", @@ -538,5 +539,6 @@ "assistant": "للحصول على المساعدة ، يمكنك تقديم الطلب على نظام سعيد أو الاتصال بمركز الاتصال الموحد على 8310200", "employee_leaves_calender": "تقويم أوراق الموظفين", "view_your_leave_information": "عرض معلومات إجازتك", - "view_details": "عرض التفاصيل" + "view_details": "عرض التفاصيل", + "hierarchy": "تَسَلسُل" } \ No newline at end of file diff --git a/assets/langs/en-US.json b/assets/langs/en-US.json index 7b01275..3ef5f7a 100644 --- a/assets/langs/en-US.json +++ b/assets/langs/en-US.json @@ -303,6 +303,7 @@ "topic": "Topic", "actionBy": "Action By", "pendingTransactions": "Pending Transactions", + "notices": "Notices", "selectRequestType": "Please select request type", "dateFrom": "Date From", "dateTo": "Date To", @@ -538,6 +539,7 @@ "assistant": "For assistance, you can submit the request on the Saeed system or call the unified call center on 8310200", "employee_leaves_calender": "Employee Leaves Calender", "view_your_leave_information": "View Your Leave Information", - "view_details": "View Details" + "view_details": "View Details", + "hierarchy": "Hierarchy" } \ No newline at end of file diff --git a/lib/generated/locale_keys.g.dart b/lib/generated/locale_keys.g.dart index 3aab5c7..de31629 100644 --- a/lib/generated/locale_keys.g.dart +++ b/lib/generated/locale_keys.g.dart @@ -525,5 +525,7 @@ abstract class LocaleKeys { static const employee_leaves_calender = 'employee_leaves_calender'; static const view_your_leave_information = 'view_your_leave_information'; static const view_details = 'view_details'; + static const notices = 'notices'; + static const hierarchy = 'hierarchy'; } diff --git a/lib/provider/dashboard_provider_model.dart b/lib/provider/dashboard_provider_model.dart index f3febdf..cd8ff33 100644 --- a/lib/provider/dashboard_provider_model.dart +++ b/lib/provider/dashboard_provider_model.dart @@ -117,10 +117,10 @@ class DashboardProviderModel with ChangeNotifier, DiagnosticableTreeMixin { getOffersList = []; drawerMenuItemList = [ - DrawerMenuItem("assets/images/drawer/my_profile.svg", LocaleKeys.myProfile.tr(), AppRoutes.profile), + DrawerMenuItem("assets/images/drawer/profile_icon.png", LocaleKeys.myProfile.tr(), AppRoutes.profile), // DrawerMenuItem("assets/images/drawer/performance_evaluation.svg", LocaleKeys.performanceEvaluation.tr(), AppRoutes.performanceEvaluation), // DrawerMenuItem("assets/images/drawer/mowadhafi.svg", LocaleKeys.mowadhafhi.tr(), AppRoutes.mowadhafhi), - // DrawerMenuItem("assets/images/drawer/pending_trasactions.svg", LocaleKeys.pendingTransactions.tr(), AppRoutes.pendingTransactions), + DrawerMenuItem("assets/images/drawer/notices.png", LocaleKeys.notices.tr(), AppRoutes.pendingTransactions), // // DrawerMenuItem("assets/images/drawer/drawer_marathon.svg", LocaleKeys.brainMarathon.tr(), AppRoutes.marathonIntroScreen), // DrawerMenuItem("assets/images/drawer/change_password.svg", LocaleKeys.changePassword.tr(), AppRoutes.changePassword), // @@ -232,7 +232,7 @@ class DashboardProviderModel with ChangeNotifier, DiagnosticableTreeMixin { myRequest = menu; } else if (menu.menuType == "M") { AppState().setempStatusIsManager = true; - drawerMenuItemList.add(DrawerMenuItem("assets/images/drawer/my_team.svg", LocaleKeys.myTeamMembers.tr(), AppRoutes.myTeam)); + drawerMenuItemList.add(DrawerMenuItem("assets/images/drawer/my_team_icon.png", LocaleKeys.myTeamMembers.tr(), AppRoutes.myTeam)); } } isMyRequestLoading = false; diff --git a/lib/ui/landing/dashboard_screen.dart b/lib/ui/landing/dashboard_screen.dart index ca3eb69..38f63fe 100644 --- a/lib/ui/landing/dashboard_screen.dart +++ b/lib/ui/landing/dashboard_screen.dart @@ -17,7 +17,6 @@ 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/main.dart'; import 'package:mohem_flutter_app/models/offers_and_discounts/get_offers_list.dart'; import 'package:mohem_flutter_app/provider/chat_provider_model.dart'; import 'package:mohem_flutter_app/provider/dashboard_provider_model.dart'; @@ -210,10 +209,11 @@ class _DashboardScreenState extends State with WidgetsBindingOb body: Column( children: [ Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Builder(builder: (BuildContext context) { return Row( - mainAxisSize: MainAxisSize.min, + // mainAxisSize: MainAxisSize.min, children: [ Image.memory( Utils.dataFromBase64String( @@ -230,11 +230,6 @@ class _DashboardScreenState extends State with WidgetsBindingOb height: 34, fit: BoxFit.cover, ).circle(50), - // CircularAvatar( - // width: 34, - // height: 34, - // url: "https://cdn4.iconfinder.com/data/icons/professions-2-2/151/89-512.png", - // ), 8.width, SvgPicture.asset("assets/images/side_nav.svg"), ], @@ -242,7 +237,8 @@ class _DashboardScreenState extends State with WidgetsBindingOb _scaffoldState.currentState!.openDrawer(); }); }), - Image.asset("assets/images/logos/main_mohemm_logo.png", width: 134, height: 28).expanded, + Image.asset("assets/images/drawer/moe_logo_full.png", width: 130, height: 45), + SizedBox(width: 65), // SvgPicture.asset( // "assets/images/announcements.svg", // matchTextDirection: true, @@ -624,7 +620,6 @@ class _DashboardScreenState extends State with WidgetsBindingOb icon: Stack( alignment: Alignment.centerLeft, children: [ - SvgPicture.asset( "assets/icons/chat/chat.svg", color: currentIndex == 4 @@ -696,16 +691,4 @@ class _DashboardScreenState extends State with WidgetsBindingOb Navigator.pushNamed(context, AppRoutes.offersAndDiscountsDetails, arguments: getOffersDetailList); } - } - - - - - - - - - - - diff --git a/lib/ui/landing/widget/app_drawer.dart b/lib/ui/landing/widget/app_drawer.dart index 5512cf4..9d4a151 100644 --- a/lib/ui/landing/widget/app_drawer.dart +++ b/lib/ui/landing/widget/app_drawer.dart @@ -51,9 +51,9 @@ class _AppDrawerState extends State { child: Column( children: [ Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, + mainAxisAlignment: MainAxisAlignment.end, children: [ - Image.asset("assets/images/logos/main_mohemm_logo.png", width: 134, height: 24), + // Image.asset("assets/images/logos/main_mohemm_logo.png", width: 134, height: 24), const Icon(Icons.clear).onPress(() => Navigator.pop(context)), ], ).paddingOnly(left: 4, right: 14), @@ -124,32 +124,33 @@ class _AppDrawerState extends State { // if (AppState().businessCardPrivilege) // menuItem("assets/images/drawer/view_business_card.svg", LocaleKeys.viewBusinessCard.tr(), "", closeDrawer: false, onPress: () => showMDialog(context, child: BusinessCardDialog())), // - menuItem("assets/images/support.png", LocaleKeys.help.tr(), "", closeDrawer: true, onPress: () { + menuItem("assets/images/drawer/help.png", LocaleKeys.help.tr(), "", closeDrawer: true, onPress: () { Navigator.pushNamed(context, AppRoutes.help); }), - menuItem("assets/images/support.png", "Hierarchy", "", closeDrawer: true, onPress: () { + menuItem("assets/images/drawer/hierarchy.png", LocaleKeys.hierarchy.tr(), "", closeDrawer: true, onPress: () { Navigator.pushNamed(context, AppRoutes.hierarchy); }), menuItem("assets/images/drawer/logout.svg", LocaleKeys.logout.tr(), "", color: MyColors.redA3Color, closeDrawer: false, onPress: performLogout), // menuItem("assets/images/drawer/logout.svg", LocaleKeys.logout.tr(), "", color: MyColors.redA3Color, closeDrawer: false, onPress: () {Navigator.pushNamed(context, AppRoutes.survey,); ], ).expanded, - const Divider( - height: 1, - thickness: 1, - color: MyColors.lightGreyEFColor, - ), + // const Divider( + // height: 1, + // thickness: 1, + // color: MyColors.lightGreyEFColor, + // ), Row( + mainAxisAlignment: MainAxisAlignment.end, children: [ - RichText( - text: TextSpan(text: LocaleKeys.poweredBy.tr() + " ", style: const TextStyle(color: MyColors.grey98Color, fontSize: 14, letterSpacing: -0.56, fontWeight: FontWeight.w600), children: [ - TextSpan( - text: LocaleKeys.cloudSolutions.tr(), - style: const TextStyle(color: MyColors.grey3AColor, fontSize: 14, letterSpacing: -0.56, fontWeight: FontWeight.w600), - ), - ]), - ).expanded, - Image.asset("assets/images/logos/bn_cloud_soloution.jpg", width: 40, height: 40) + // RichText( + // text: TextSpan(text: LocaleKeys.poweredBy.tr() + " ", style: const TextStyle(color: MyColors.grey98Color, fontSize: 14, letterSpacing: -0.56, fontWeight: FontWeight.w600), children: [ + // TextSpan( + // text: LocaleKeys.cloudSolutions.tr(), + // style: const TextStyle(color: MyColors.grey3AColor, fontSize: 14, letterSpacing: -0.56, fontWeight: FontWeight.w600), + // ), + // ]), + // ).expanded, + Image.asset("assets/images/drawer/moe_logo.png", width: 60, height: 60) ], ).paddingOnly(left: 21, right: 21, top: 21) ], diff --git a/lib/ui/landing/widget/services_widget.dart b/lib/ui/landing/widget/services_widget.dart index f023955..0ae45ef 100644 --- a/lib/ui/landing/widget/services_widget.dart +++ b/lib/ui/landing/widget/services_widget.dart @@ -80,7 +80,7 @@ class ServicesWidget extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.end, children: [ Expanded( - child: data.homeMenus![parentIndex].menuEntiesList[index].prompt!.toText11(isBold: true), + child: data.homeMenus![parentIndex].menuEntiesList[index].prompt!.toText10(isBold: true), ), RotatedBox(quarterTurns: AppState().isArabic(context) ? 2 : 4, child: SvgPicture.asset("assets/images/arrow_next.svg").paddingOnly(bottom: 4)), ], diff --git a/lib/ui/login/login_screen.dart b/lib/ui/login/login_screen.dart index b9cfce9..7e1f470 100644 --- a/lib/ui/login/login_screen.dart +++ b/lib/ui/login/login_screen.dart @@ -142,7 +142,7 @@ class _LoginScreenState extends State { Future checkPrefs() async { String username = await Utils.getStringFromPrefs(SharedPrefsConsts.username); - if (!username.isNotEmpty) { // for test purpose i added ! + if (username.isNotEmpty) { // for test purpose i added ! String password = await Utils.getStringFromPrefs(SharedPrefsConsts.password); // String firebaseToken = await Utils.getStringFromPrefs(SharedPrefsConsts.firebaseToken); // print("firebaseToken:$firebaseToken"); @@ -152,6 +152,7 @@ class _LoginScreenState extends State { } } + void performLogin() async { Utils.showLoading(context); try { @@ -226,24 +227,24 @@ class _LoginScreenState extends State { crossAxisAlignment: CrossAxisAlignment.start, children: [ Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - Expanded(child: SizedBox()), - Row( - children: [ - LocaleKeys.english.tr().toText14(color: AppState().isArabic(context) ? null : MyColors.textMixColor).onPress(() { - context.setLocale(const Locale("en", "US")); - }), - Container( - width: 1, - color: MyColors.darkWhiteColor, - height: 16, - margin: const EdgeInsets.only(left: 10, right: 10), - ), - LocaleKeys.arabic.tr().toText14(color: !AppState().isArabic(context) ? null : MyColors.textMixColor).onPress(() { - context.setLocale(const Locale("ar", "SA")); - }), - ], - ), + Image.asset("assets/images/drawer/moe_logo.png", width: 60, height: 60), + + Row(children: [ + LocaleKeys.english.tr().toText14(color: AppState().isArabic(context) ? null : MyColors.textMixColor).onPress(() { + context.setLocale(const Locale("en", "US")); + }), + Container( + width: 1, + color: MyColors.darkWhiteColor, + height: 16, + margin: const EdgeInsets.only(left: 10, right: 10), + ), + LocaleKeys.arabic.tr().toText14(color: !AppState().isArabic(context) ? null : MyColors.textMixColor).onPress(() { + context.setLocale(const Locale("ar", "SA")); + }), + ],) ], ), Expanded( diff --git a/lib/ui/login/verify_last_login_screen.dart b/lib/ui/login/verify_last_login_screen.dart index 8eca069..e7caaff 100644 --- a/lib/ui/login/verify_last_login_screen.dart +++ b/lib/ui/login/verify_last_login_screen.dart @@ -21,10 +21,7 @@ import 'package:mohem_flutter_app/generated/locale_keys.g.dart'; import 'package:mohem_flutter_app/models/basic_member_information_model.dart'; import 'package:mohem_flutter_app/models/generic_response_model.dart'; import 'package:mohem_flutter_app/models/get_mobile_login_info_list_model.dart'; -import 'package:mohem_flutter_app/ui/dialogs/id/business_card_dialog.dart'; -import 'package:mohem_flutter_app/ui/dialogs/id/employee_digital_id_dialog.dart'; import 'package:mohem_flutter_app/widgets/button/default_button.dart'; -import 'package:mohem_flutter_app/widgets/dialogs/dialogs.dart'; // WhatsApp 4 // SMS 1 @@ -63,29 +60,54 @@ class _VerifyLastLoginScreenState extends State { String empName = mobileLoginInfoListModel!.employeeName!; return Scaffold( - appBar: AppBar( - backgroundColor: Colors.transparent, - automaticallyImplyLeading: false, - title: (mobileLoginInfoListModel?.businessCardPrivilege ?? false) - ? LocaleKeys.viewBusinessCard.tr().toText12(color: MyColors.textMixColor, isUnderLine: true).onPress(() { - showMDialog(context, child: BusinessCardDialog()); - }) - : Container(), - actions: [ - Center( - child: LocaleKeys.employeeDigitalID.tr().toText12(color: MyColors.textMixColor, isUnderLine: true).onPress(() { - showMDialog(context, child: EmployeeDigitialIdDialog()); - })), - 21.width - ], - ), + // appBar: AppBar( + // + // backgroundColor: Colors.transparent, + // automaticallyImplyLeading: false, + // title: (mobileLoginInfoListModel?.businessCardPrivilege ?? false) + // ? LocaleKeys.viewBusinessCard.tr().toText12(color: MyColors.textMixColor, isUnderLine: true).onPress(() { + // showMDialog(context, child: BusinessCardDialog()); + // }) + // : Container(), + // actions: [ + // Center( + // child: LocaleKeys.employeeDigitalID.tr().toText12(color: MyColors.textMixColor, isUnderLine: true).onPress(() { + // showMDialog(context, child: EmployeeDigitialIdDialog()); + // })), + // 21.width + // ], + // ), body: Column( children: [ ListView( padding: const EdgeInsets.all(21), physics: const BouncingScrollPhysics(), children: [ - //12.height, + 12.height, + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Image.asset("assets/images/drawer/moe_logo.png", width: 60, height: 60), + Row( + children: [ + LocaleKeys.english.tr().toText14(color: AppState().isArabic(context) ? null : MyColors.textMixColor).onPress(() { + context.setLocale(const Locale("en", "US")); + }), + Container( + width: 1, + color: MyColors.darkWhiteColor, + height: 16, + margin: const EdgeInsets.only(left: 10, right: 10), + ), + LocaleKeys.arabic.tr().toText14(color: !AppState().isArabic(context) ? null : MyColors.textMixColor).onPress(() { + context.setLocale(const Locale("ar", "SA")); + }), + ], + ) + ], + ), + 12.height, + if (true) Column( mainAxisSize: MainAxisSize.min, @@ -290,7 +312,7 @@ class _VerifyLastLoginScreenState extends State { width: 38, color: isDisable ? MyColors.darkTextColor.withOpacity(0.7) : null, ), - _title.toText16(height: 20/16) + _title.toText16(height: 20 / 16, maxlines: 2), ], ), ), diff --git a/lib/ui/login/verify_login_screen.dart b/lib/ui/login/verify_login_screen.dart index febd06b..9e6dba1 100644 --- a/lib/ui/login/verify_login_screen.dart +++ b/lib/ui/login/verify_login_screen.dart @@ -14,7 +14,6 @@ import 'package:mohem_flutter_app/classes/utils.dart'; import 'package:mohem_flutter_app/config/env.dart'; import 'package:mohem_flutter_app/config/routes.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/generated/locale_keys.g.dart'; import 'package:mohem_flutter_app/models/basic_member_information_model.dart'; @@ -573,7 +572,7 @@ class _VerifyLoginScreenState extends State { width: 38, color: isDisable ? MyColors.darkTextColor.withOpacity(0.7) : null, ), - _title.toText16(height: 20 / 16) + _title.toText16(height: 20 / 16, maxlines: 2) ], ), ),