diff --git a/lib/core/service/AuthenticatedUserObject.dart b/lib/core/service/AuthenticatedUserObject.dart index 600e17e1..f48b1179 100644 --- a/lib/core/service/AuthenticatedUserObject.dart +++ b/lib/core/service/AuthenticatedUserObject.dart @@ -17,8 +17,8 @@ class AuthenticatedUserObject { if (userData != null) user = AuthenticatedUser.fromJson(userData); } - var isLogin = await sharedPref.getString(LOGIN_TOKEN_ID); - this.isLogin = isLogin != null; + // var isLogin = await sharedPref.getString(LOGIN_TOKEN_ID); + this.isLogin = user != null; } logout() async { diff --git a/lib/core/service/medical/labs_service.dart b/lib/core/service/medical/labs_service.dart index c1ad65f3..027d755b 100644 --- a/lib/core/service/medical/labs_service.dart +++ b/lib/core/service/medical/labs_service.dart @@ -13,6 +13,7 @@ class LabsService extends BaseService { List patientLabOrdersList = List(); Future getPatientLabOrdersList() async { + hasError = false; await baseAppClient.post(GET_Patient_LAB_ORDERS, onSuccess: (dynamic response, int statusCode) { patientLabOrdersList.clear(); diff --git a/lib/core/viewModels/base_view_model.dart b/lib/core/viewModels/base_view_model.dart index 18ab02e3..d8ea5196 100644 --- a/lib/core/viewModels/base_view_model.dart +++ b/lib/core/viewModels/base_view_model.dart @@ -30,6 +30,9 @@ class BaseViewModel extends ChangeNotifier { } BaseViewModel() { + //authenticatedUserObject.getUser(); + user = authenticatedUserObject.user; + this.isLogin = authenticatedUserObject.isLogin; _getUser(); } diff --git a/lib/core/viewModels/dashboard_view_model.dart b/lib/core/viewModels/dashboard_view_model.dart index e2523120..4cf22b23 100644 --- a/lib/core/viewModels/dashboard_view_model.dart +++ b/lib/core/viewModels/dashboard_view_model.dart @@ -10,7 +10,7 @@ class DashboardViewModel extends BaseViewModel { String bloadType = ""; getPatientRadOrders() async { - if (!isLogin && _vitalSignService.weightKg.isEmpty) { + if (isLogin && _vitalSignService.weightKg.isEmpty) { setState(ViewState.Busy); await _vitalSignService.getPatientRadOrders(); if (_vitalSignService.hasError) { diff --git a/lib/pages/Blood/dialogs/ConfirmSMSDialog.dart b/lib/pages/Blood/dialogs/ConfirmSMSDialog.dart index 8dd2b29e..d165a895 100644 --- a/lib/pages/Blood/dialogs/ConfirmSMSDialog.dart +++ b/lib/pages/Blood/dialogs/ConfirmSMSDialog.dart @@ -6,12 +6,14 @@ import 'package:diplomaticquarterapp/core/enum/viewstate.dart'; import 'package:diplomaticquarterapp/core/model/my_balance/AdvanceModel.dart'; import 'package:diplomaticquarterapp/core/model/my_balance/patient_info_and_mobile_number.dart'; import 'package:diplomaticquarterapp/core/viewModels/medical/my_balance_view_model.dart'; +import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; import 'package:diplomaticquarterapp/pages/base/base_view.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; import 'package:smart_progress_bar/smart_progress_bar.dart'; class ConfirmSMSDialog extends StatefulWidget { @@ -97,6 +99,7 @@ class _ConfirmSMSDialogState extends State { @override Widget build(BuildContext context) { + ProjectViewModel projectViewModel = Provider.of(context); return BaseView( builder: (_, model, w) => Dialog( elevation: 0.6, @@ -107,20 +110,18 @@ class _ConfirmSMSDialogState extends State { Container( width: double.infinity, height: 40, - color: Colors.grey[700], - child: Row( - crossAxisAlignment: CrossAxisAlignment.center, + color: Theme.of(context).primaryColor, + child: Stack( + children: [ - Expanded( - flex: 4, - child: Center( - child: Texts( + Center( + child: Texts( 'SMS', color: Colors.white, textAlign: TextAlign.center, - ))), - Expanded( - flex: 1, + ), + ), + Positioned(child: Container( child: InkWell( onTap: () => Navigator.pop(context), child: Container( @@ -131,8 +132,12 @@ class _ConfirmSMSDialogState extends State { color: Colors.grey[900], )), ), + ), + left: projectViewModel.isArabic? 2:0, + right: projectViewModel.isArabic? 0:2, ) ], + ), ), Image.asset( diff --git a/lib/pages/landing/home_page.dart b/lib/pages/landing/home_page.dart index 0778b3a6..fabfeda8 100644 --- a/lib/pages/landing/home_page.dart +++ b/lib/pages/landing/home_page.dart @@ -49,9 +49,8 @@ class _HomePageState extends State { }); super.initState(); } + AuthenticatedUserObject authenticatedUserObject = locator(); - AuthenticatedUserObject authenticatedUserObject = - locator(); @override Widget build(BuildContext context) { @@ -94,10 +93,9 @@ class _HomePageState extends State { ) ], ), + ), - Container( - width: double.infinity, - height: projectViewModel.isArabic ? 120 : 110), + Container(width: double.infinity, height:projectViewModel.isArabic ? 120:110), ], ), Positioned( @@ -112,8 +110,7 @@ class _HomePageState extends State { Orientation.landscape ? 0.02 : 0.03), - child: (!authenticatedUserObject.isLogin && - projectViewModel.user == null) + child: (!model.isLogin ) ? Container( width: double.infinity, height: 160, @@ -309,9 +306,7 @@ class _HomePageState extends State { bold: true, ), Texts( - TranslationBase.of( - context) - .height, + TranslationBase.of(context).height, color: Colors.white, fontSize: 10, ), @@ -343,9 +338,7 @@ class _HomePageState extends State { bold: true, ), Texts( - TranslationBase.of( - context) - .weight, + TranslationBase.of(context).weight, color: Colors.white, fontSize: 10, ) @@ -359,10 +352,8 @@ class _HomePageState extends State { ), Expanded( child: Row( - mainAxisAlignment: - MainAxisAlignment.start, - crossAxisAlignment: - CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, children: [ Image.asset( 'assets/images/blood-drop.png', @@ -376,9 +367,7 @@ class _HomePageState extends State { color: Colors.white, ), Texts( - TranslationBase.of( - context) - .bloodType, + TranslationBase.of(context).bloodType, color: Colors.white, fontSize: 10, ) @@ -417,35 +406,28 @@ class _HomePageState extends State { padding: const EdgeInsets.all(15.0), child: Column( children: [ - SizedBox( - height: 15, - ), + SizedBox(height: 15,), + Container( width: 60, decoration: BoxDecoration( color: Colors.white, shape: BoxShape.rectangle, - borderRadius: - BorderRadius.circular(12)), - child: Center( - child: Image.asset( - 'assets/images/vital_sign_icon.png', + borderRadius: BorderRadius.circular(12) + ), + child: Center(child: Image.asset('assets/images/vital_sign_icon.png', width: 80, height: 50, - fit: BoxFit.contain, - )), - ), - SizedBox( - height: 20, + fit: BoxFit.contain,)), ), + SizedBox(height: 20,), Texts( - TranslationBase.of(context).vitalSigns, + TranslationBase.of(context) + .vitalSigns, textAlign: TextAlign.center, color: Colors.white, bold: true, - fontSize: projectViewModel.isArabic - ? SizeConfig.textMultiplier * 1.5 - : SizeConfig.textMultiplier * 1.7, + fontSize: projectViewModel.isArabic? SizeConfig.textMultiplier * 1.5 :SizeConfig.textMultiplier * 1.7, ) ], ), @@ -473,35 +455,26 @@ class _HomePageState extends State { padding: const EdgeInsets.all(15.0), child: Column( children: [ - SizedBox( - height: 15, - ), + SizedBox(height: 15,), Container( width: 50, decoration: BoxDecoration( color: Colors.white, shape: BoxShape.rectangle, - borderRadius: - BorderRadius.circular(12)), - child: Center( - child: Image.asset( - 'assets/images/search_medicine_icon.png', + borderRadius: BorderRadius.circular(12) + ), + child: Center(child: Image.asset('assets/images/search_medicine_icon.png', width: 50, height: 50, - fit: BoxFit.contain, - )), - ), - SizedBox( - height: 20, + fit: BoxFit.contain,)), ), + SizedBox(height: 20,), Texts( TranslationBase.of(context).searchMedicine, textAlign: TextAlign.center, color: Colors.white, bold: true, - fontSize: projectViewModel.isArabic - ? SizeConfig.textMultiplier * 1.5 - : SizeConfig.textMultiplier * 1.7, + fontSize: projectViewModel.isArabic? SizeConfig.textMultiplier * 1.5 :SizeConfig.textMultiplier * 1.7, ) ], ), @@ -513,9 +486,8 @@ class _HomePageState extends State { ), ), Expanded( - child: DashboardItem( - opacity: 1.0, - onTap: () { + child: DashboardItem(opacity: 1.0, + onTap: (){ Navigator.push( context, FadePage( @@ -528,35 +500,25 @@ class _HomePageState extends State { padding: const EdgeInsets.all(15.0), child: Column( children: [ - SizedBox( - height: 15, - ), + SizedBox(height: 15,), Container( decoration: BoxDecoration( color: Colors.white, shape: BoxShape.rectangle, - borderRadius: - BorderRadius.circular(12)), - child: Center( - child: Image.asset( - 'assets/images/online_payment_icon.png', + borderRadius: BorderRadius.circular(12) + ), + child: Center(child: Image.asset('assets/images/online_payment_icon.png', width: 80, height: 50, - fit: BoxFit.contain, - )), - ), - SizedBox( - height: 15, + fit: BoxFit.contain,)), ), + SizedBox(height: 15,), Texts( - TranslationBase.of(context) - .onlinePaymentService, + TranslationBase.of(context).onlinePaymentService, textAlign: TextAlign.center, color: Colors.white, bold: true, - fontSize: projectViewModel.isArabic - ? SizeConfig.textMultiplier * 1.5 - : SizeConfig.textMultiplier * 1.7, + fontSize: projectViewModel.isArabic? SizeConfig.textMultiplier * 1.5 :SizeConfig.textMultiplier * 1.7, ) ], ), @@ -592,33 +554,34 @@ class _HomePageState extends State { ); }, child: MedicalProfileItem( - title: - TranslationBase.of(context).myAppointments, + title: TranslationBase.of(context) + .myAppointments, imagePath: 'my_appointment_icon.png', - subTitle: TranslationBase.of(context) - .myAppointmentsList, + subTitle: TranslationBase.of(context).myAppointmentsList, ), ), ), Expanded( flex: 1, child: InkWell( - onTap: () => Navigator.push( - context, FadePage(page: LabsHomePage())), + onTap: () => Navigator.push(context, + FadePage(page: LabsHomePage())), child: MedicalProfileItem( title: TranslationBase.of(context).lab, imagePath: 'lab_result_icon.png', - subTitle: TranslationBase.of(context).lab, + subTitle: + TranslationBase.of(context).lab, ), ), ), Expanded( flex: 1, child: InkWell( - onTap: () => Navigator.push( - context, FadePage(page: RadiologyHomePage())), + onTap: () => Navigator.push(context, + FadePage(page: RadiologyHomePage())), child: MedicalProfileItem( - title: TranslationBase.of(context).radiology, + title: TranslationBase.of(context) + .radiology, imagePath: 'radiology_icon.png', subTitle: TranslationBase.of(context) .radiologySubtitle, @@ -641,7 +604,8 @@ class _HomePageState extends State { ); }, child: MedicalProfileItem( - title: TranslationBase.of(context).medicines, + title: TranslationBase.of(context) + .medicines, imagePath: 'prescription_icon.png', subTitle: TranslationBase.of(context) .medicinesSubtitle, @@ -660,7 +624,8 @@ class _HomePageState extends State { ); }, child: MedicalProfileItem( - title: TranslationBase.of(context).myDoctor, + title: TranslationBase.of(context) + .myDoctor, imagePath: 'doctor_icon.png', subTitle: TranslationBase.of(context) .myDoctorSubtitle, @@ -671,11 +636,12 @@ class _HomePageState extends State { flex: 1, child: InkWell( onTap: () { - Navigator.push( - context, FadePage(page: InsuranceCard())); + Navigator.push(context, + FadePage(page: InsuranceCard())); }, child: MedicalProfileItem( - title: TranslationBase.of(context).insurance, + title: TranslationBase.of(context) + .insurance, imagePath: 'insurance_card_icon.png', subTitle: TranslationBase.of(context) .insuranceSubtitle, @@ -684,6 +650,7 @@ class _HomePageState extends State { ), ], ), + ], ), ), @@ -696,7 +663,7 @@ class _HomePageState extends State { mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ DashboardItem( - opacity: 1.0, + opacity:1.0, child: Container( width: double.infinity, padding: EdgeInsets.all(10), @@ -709,8 +676,7 @@ class _HomePageState extends State { bold: true, ), Texts( - TranslationBase.of(context) - .viewAllHabibMedicalService, + TranslationBase.of(context).viewAllHabibMedicalService, color: Colors.white, fontWeight: FontWeight.normal, fontSize: 10, @@ -728,17 +694,13 @@ class _HomePageState extends State { ), height: 100, imageName: 'ask_doctor_bg.png', - //color: Colors.grey[700], + //color: Colors.grey[700], width: MediaQuery.of(context).size.width * 0.45, onTap: () => Navigator.push( - context, - FadePage( - page: AllHabibMedicalService( - goToMyProfile: widget.goToMyProfile, - ))), + context, FadePage(page: AllHabibMedicalService(goToMyProfile: widget.goToMyProfile,))), ), DashboardItem( - opacity: 1.0, + opacity:1.0, onTap: () { Navigator.push( context, FadePage(page: ContactUsPage())); @@ -758,7 +720,7 @@ class _HomePageState extends State { TranslationBase.of(context).viewAllWaysReachUs, color: Colors.white, fontWeight: FontWeight.normal, - fontSize: SizeConfig.textMultiplier * 1.0, + fontSize: SizeConfig.textMultiplier * 1.0 , ), Expanded( child: Container(), @@ -796,22 +758,20 @@ class _HomePageState extends State { } getToDoCount() { - if (authenticatedUserObject.isLogin) { - toDoProvider.setState(0); - ClinicListService service = new ClinicListService(); - service.getActiveAppointmentNo(context).then((res) { - print(res['AppointmentActiveNumber']); - if (res['MessageStatus'] == 1) { - setState(() { - toDoProvider.setState(res['AppointmentActiveNumber']); - }); - } else { - AppToast.showErrorToast(message: res['ErrorEndUserMessage']); - } - }).catchError((err) { - print(err); - }); - } + toDoProvider.setState(0); + ClinicListService service = new ClinicListService(); + service.getActiveAppointmentNo(context).then((res) { + print(res['AppointmentActiveNumber']); + if (res['MessageStatus'] == 1) { + setState(() { + toDoProvider.setState(res['AppointmentActiveNumber']); + }); + } else { + AppToast.showErrorToast(message: res['ErrorEndUserMessage']); + } + }).catchError((err) { + print(err); + }); } } @@ -825,9 +785,7 @@ class DashboardItem extends StatelessWidget { this.width, this.height, this.color, - this.opacity = 1.0, - this.icon, - this.margin = 0}) + this.opacity = 1.0,this.icon,this.margin=0}) : super(key: key); final bool hasBorder; final String imageName; diff --git a/lib/pages/login/login.dart b/lib/pages/login/login.dart index a190e52a..2937db11 100644 --- a/lib/pages/login/login.dart +++ b/lib/pages/login/login.dart @@ -217,12 +217,13 @@ class _Login extends State { // request.isRegister = false; this.authService.checkActivationCode(request, code).then((result) => { result = CheckActivationCode.fromJson(result), - authenticatedUserObject.getUser(), this.sharedPref.setObject(USER_PROFILE, result.list), this.sharedPref.setObject(LOGIN_TOKEN_ID, result.logInTokenID), this.sharedPref.setString(TOKEN, result.authenticationTokenID), + authenticatedUserObject.getUser(), + // authenticatedUserObject.user = AuthenticatedUser.fromJson(result.list), authenticatedUserObject.isLogin = true, - appointmentRateViewModel.isLogin =true, + appointmentRateViewModel.isLogin = true, appointmentRateViewModel .getIsLastAppointmentRatedList() .then((value) => { diff --git a/lib/splashPage.dart b/lib/splashPage.dart index ceec604c..3b9b3bd0 100644 --- a/lib/splashPage.dart +++ b/lib/splashPage.dart @@ -2,6 +2,9 @@ import 'dart:async'; import 'package:diplomaticquarterapp/pages/landing/landing_page.dart'; import 'package:flutter/material.dart'; +import 'core/service/AuthenticatedUserObject.dart'; +import 'locator.dart'; + class SplashScreen extends StatefulWidget { @override _SplashScreenState createState() => _SplashScreenState(); diff --git a/lib/widgets/others/app_scaffold_widget.dart b/lib/widgets/others/app_scaffold_widget.dart index 616b0d9b..f56f7784 100644 --- a/lib/widgets/others/app_scaffold_widget.dart +++ b/lib/widgets/others/app_scaffold_widget.dart @@ -101,8 +101,6 @@ class AppScaffold extends StatelessWidget { icon: Icon(FontAwesomeIcons.home), color: Colors.white, onPressed: () { - - Navigator.pushAndRemoveUntil( context, MaterialPageRoute(builder: (context) => LandingPage()),