diff --git a/assets/images/lang.png b/assets/images/lang.png new file mode 100644 index 00000000..34af3d9a Binary files /dev/null and b/assets/images/lang.png differ diff --git a/lib/config/config.dart b/lib/config/config.dart index 1ea16a37..f87b7628 100644 --- a/lib/config/config.dart +++ b/lib/config/config.dart @@ -14,7 +14,7 @@ const PACKAGES_SHOPPING_CART = '/api/shopping_cart_items'; const PACKAGES_ORDERS = '/api/orders'; const BASE_URL = 'https://uat.hmgwebservices.com/'; -// const BASE_URL = 'https://hmgwebservices.com/'; +//const BASE_URL = 'https://hmgwebservices.com/'; // Pharmacy UAT URLs const BASE_PHARMACY_URL = 'https://uat.hmgwebservices.com/epharmacy/api/'; @@ -33,7 +33,8 @@ const GET_GEO_ZONES = 'Services/Patients.svc/REST/GeoF_GetAllPoints'; const LOG_GEO_ZONES = 'Services/Patients.svc/REST/GeoF_InsertPatientFileInfo'; // Delivery Driver -const DRIVER_LOCATION = 'Services/Patients.svc/REST/PatientER_GetDriverLocation'; +const DRIVER_LOCATION = + 'Services/Patients.svc/REST/PatientER_GetDriverLocation'; //weather const WEATHER_INDICATOR = 'Services/Weather.svc/REST/GetCityInfo'; @@ -220,9 +221,11 @@ const GET_PATIENT_SHARE = const GET_PATIENT_APPOINTMENT_HISTORY = "Services/Doctors.svc/REST/PateintHasAppoimentHistory"; -const SEND_REPORT_EYE_EMAIL = "Services/Notifications.svc/REST/SendGlassesPrescriptionEmail"; +const SEND_REPORT_EYE_EMAIL = + "Services/Notifications.svc/REST/SendGlassesPrescriptionEmail"; -const SEND_CONTACT_LENS_PRESCRIPTION_EMAIL = "Services/Notifications.svc/REST/SendContactLensPrescriptionEmail"; +const SEND_CONTACT_LENS_PRESCRIPTION_EMAIL = + "Services/Notifications.svc/REST/SendContactLensPrescriptionEmail"; //URL to get patient appointment curfew history const GET_PATIENT_APPOINTMENT_CURFEW_HISTORY = @@ -509,7 +512,7 @@ const LAKUM_GET_USER_TERMS_AND_CONDITIONS = "Services/ERP.svc/REST/GetUserTermsAndConditionsForEPharmcy"; const PRESCRIPTION = 'Services/Patients.svc/REST/GetPrescriptionApptList'; const GET_RECOMMENDED_PRODUCT = 'alsoProduct/'; -const GET_MOST_VIEWED_PRODUCTS ="mostview?"; +const GET_MOST_VIEWED_PRODUCTS = "mostview?"; const GET_NEW_PRODUCTS = "newproducts?"; // Home Health Care diff --git a/lib/pages/landing/home_page.dart b/lib/pages/landing/home_page.dart index 2b3f591d..d1b8d4f3 100644 --- a/lib/pages/landing/home_page.dart +++ b/lib/pages/landing/home_page.dart @@ -358,7 +358,7 @@ class _HomePageState extends State { height: 5, ), Texts( - '${DateUtil.getMonthDayYearDateFormatted(model.user.dateofBirthDataTime)} ,${model.user.genderDescription} ${model.user.ageDesc}', + '${DateUtil.getMonthDayYearDateFormatted(model.user.dateofBirthDataTime)} ,${model.user.gender == 1 ? TranslationBase.of(context).male : TranslationBase.of(context).female} ${model.user.age.toString() + "y"}', color: Colors.grey[100], fontWeight: FontWeight.normal, fontSize: 14, @@ -387,9 +387,10 @@ class _HomePageState extends State { child: Center( child: Texts( TranslationBase.of(context) - .viewMore, + .myMedicalFile, color: Colors.white, fontSize: 12, + textAlign: TextAlign.center, ), ), ), diff --git a/lib/pages/login/confirm-login.dart b/lib/pages/login/confirm-login.dart index 1952de64..2ef8d0a2 100644 --- a/lib/pages/login/confirm-login.dart +++ b/lib/pages/login/confirm-login.dart @@ -31,6 +31,7 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:intl/intl.dart'; +import 'package:local_auth/auth_strings.dart'; import 'package:local_auth/local_auth.dart'; import 'package:provider/provider.dart'; // import 'package:smart_progress_bar/smart_progress_bar.dart'; @@ -383,10 +384,21 @@ class _ConfirmLogin extends State { loginWithFingurePrintFace(type, isActive) async { if (isActive == 1) { // this.startBiometricLoginIfAvailable(); - authenticated = await auth.authenticateWithBiometrics( - localizedReason: 'Scan your fingerprint to authenticate', - useErrorDialogs: true, - stickyAuth: true); + const iosStrings = const IOSAuthMessages( + cancelButton: 'cancel', + goToSettingsButton: 'settings', + goToSettingsDescription: 'Please set up your Touch ID.', + lockOut: 'Please reenable your Touch ID'); + + try { + authenticated = await auth.authenticateWithBiometrics( + localizedReason: 'Scan your fingerprint to authenticate', + useErrorDialogs: true, + stickyAuth: true, + iOSAuthStrings: iosStrings); + } on PlatformException catch (e) { + AppToast.showErrorToast(message: e.toString()); + } if (authenticated == true) { if (user != null && (user.logInType == 2 || user.logInType == 3)) { @@ -530,6 +542,7 @@ class _ConfirmLogin extends State { userData = result.list, // sharedPref.setString( // BLOOD_TYPE, result['PatientBloodType']), + authenticatedUserObject.user = result.list, sharedPref.setObject(MAIN_USER, result.list), sharedPref.setObject(USER_PROFILE, result.list), loginTokenID = result.logInTokenID, diff --git a/lib/pages/login/login.dart b/lib/pages/login/login.dart index 8d655f76..927e98de 100644 --- a/lib/pages/login/login.dart +++ b/lib/pages/login/login.dart @@ -265,6 +265,7 @@ class _Login extends State { authenticatedUserObject.isLogin = true; appointmentRateViewModel.isLogin = true; projectViewModel.isLogin = true; + authenticatedUserObject.user = result.list; projectViewModel.user = authenticatedUserObject.user; await pharmacyModuleViewModel.generatePharmacyToken().then((value) async { diff --git a/lib/widgets/drawer/app_drawer_widget.dart b/lib/widgets/drawer/app_drawer_widget.dart index c4a7d8d0..5192e0f0 100644 --- a/lib/widgets/drawer/app_drawer_widget.dart +++ b/lib/widgets/drawer/app_drawer_widget.dart @@ -160,8 +160,13 @@ class _AppDrawerState extends State { children: [ InkWell( child: DrawerItem( - TranslationBase.of(context).arabicChange, - Icons.translate), + TranslationBase.of(context).arabicChange, + Padding( + child: + Image.asset('assets/images/lang.png'), + padding: EdgeInsets.all(3)), + isImageIcon: true, + ), onTap: () { sharedPref.setBool(IS_ROBOT_INIT, null); if (projectProvider.isArabic) { @@ -304,7 +309,7 @@ class _AppDrawerState extends State { padding: EdgeInsets.only(left: 5, right: 5), child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [ AppText(result.patientName, color: result.responseID == user.patientID ? Color(0xFF40ACC9) : Colors.black), - AppText(TranslationBase.of(context).fileno + ": " + result.iD.toString(), color: result.responseID == user.patientID ? Color(0xFF40ACC9) : Colors.black), + AppText(TranslationBase.of(context).fileno + ": " + result.patientID.toString(), color: result.responseID == user.patientID ? Color(0xFF40ACC9) : Colors.black), ]))), ], ))) diff --git a/lib/widgets/drawer/drawer_item_widget.dart b/lib/widgets/drawer/drawer_item_widget.dart index bca885b0..beb6ef4a 100644 --- a/lib/widgets/drawer/drawer_item_widget.dart +++ b/lib/widgets/drawer/drawer_item_widget.dart @@ -9,19 +9,21 @@ import 'package:flutter/material.dart'; class DrawerItem extends StatefulWidget { final String title; final String subTitle; - final IconData icon; + final icon; final Color textColor; final Color iconColor; final bool bottomLine; final bool sideArrow; final Widget count; + final bool isImageIcon; DrawerItem(this.title, this.icon, {this.textColor, this.iconColor, this.subTitle = '', this.bottomLine = true, this.count, - this.sideArrow = false}); + this.sideArrow = false, + this.isImageIcon = false}); @override _DrawerItemState createState() => _DrawerItemState(); @@ -47,13 +49,15 @@ class _DrawerItemState extends State { children: [ Expanded( flex: 1, - child: Icon( - widget.icon, - color: widget.iconColor == null - ? Theme.of(context).textTheme.bodyText1.color - : widget.iconColor, - size: SizeConfig.imageSizeMultiplier * 5, - )), + child: widget.isImageIcon == true + ? widget.icon + : Icon( + widget.icon, + color: widget.iconColor == null + ? Theme.of(context).textTheme.bodyText1.color + : widget.iconColor, + size: SizeConfig.imageSizeMultiplier * 5, + )), Expanded( flex: 7, child: Column( diff --git a/lib/widgets/mobile-no/mobile_no.dart b/lib/widgets/mobile-no/mobile_no.dart index 5ed1f28e..6e89f529 100644 --- a/lib/widgets/mobile-no/mobile_no.dart +++ b/lib/widgets/mobile-no/mobile_no.dart @@ -6,21 +6,9 @@ import 'package:provider/provider.dart'; import '../../Constants.dart'; -// OWNER : Ibrahim albitar -// DATE : 12-04-2020 -// DESCRIPTION : Customization for Texts in app - class MobileNo extends StatefulWidget { final bool disabled; - // final String data; - // final List countries = [ - // new Countries( name: "Saudi Arabia", - // name_ar:"المملكة العربية السعودية", code: '966' ), - // new Countries(name: "United Arab Emirates", - // name_ar:"الإمارات العربية المتحدة", code: '971'), - // ]; - final double margin; final double marginTop; final double marginRight; @@ -99,7 +87,7 @@ class _MobileNo extends State { return DropdownMenuItem( value: value.code, child: Text(projectProvider.isArabic == true - ? value + ? value.nameAr : value.name), ); }).toList())))), @@ -137,7 +125,7 @@ class _MobileNo extends State { left: widget.marginLeft), child: TextField( controller: widget.controller, - keyboardType: TextInputType.phone, + keyboardType: TextInputType.number, maxLength: 10, // maxLengthEnforced: true, @@ -145,6 +133,7 @@ class _MobileNo extends State { // widget.controller.text = countryCode; // }, onChanged: (value) => widget.onNumberChange(value), + decoration: InputDecoration( counterText: "", border: InputBorder.none,