diff --git a/lib/core/viewModel/dashboard_view_model.dart b/lib/core/viewModel/dashboard_view_model.dart index afcec235..04e63dd9 100644 --- a/lib/core/viewModel/dashboard_view_model.dart +++ b/lib/core/viewModel/dashboard_view_model.dart @@ -37,7 +37,7 @@ class DashboardViewModel extends BaseViewModel { await getDoctorProfile(isGetProfile: true); final results = await Future.wait([ - projectsProvider.getDoctorClinicsList(), + projectsProvider.getDoctorClinicsList(), _dashboardService.getDashboard(), _dashboardService.checkDoctorHasLiveCare(), _specialClinicsService.getSpecialClinicalCareList(), @@ -45,7 +45,7 @@ class DashboardViewModel extends BaseViewModel { if (_dashboardService.hasError) { error = _dashboardService.error; - setState(ViewState.Error); + setState(ViewState.ErrorLocal); } else setState(ViewState.Idle); @@ -72,31 +72,21 @@ class DashboardViewModel extends BaseViewModel { Future getDashboard() async { setState(ViewState.Busy); await _dashboardService.getDashboard(); - if (_dashboardService.hasError) { - error = _dashboardService.error; - setState(ViewState.Error); - } else - setState(ViewState.Idle); } Future checkDoctorHasLiveCare() async { setState(ViewState.Busy); await _dashboardService.checkDoctorHasLiveCare(); - if (_dashboardService.hasError) { - error = _dashboardService.error; - setState(ViewState.Error); - } else - setState(ViewState.Idle); } Future getSpecialClinicalCareList() async { setState(ViewState.Busy); await _specialClinicsService.getSpecialClinicalCareList(); - if (_specialClinicsService.hasError) { - error = _specialClinicsService.error; - setState(ViewState.Error); - } else - setState(ViewState.Idle); + // if (_specialClinicsService.hasError) { + // error = _specialClinicsService.error; + // setState(ViewState.Error); + // } else + // setState(ViewState.Idle); } Future changeClinic( diff --git a/lib/screens/home/home_screen.dart b/lib/screens/home/home_screen.dart index 93fe0a21..495a70b0 100644 --- a/lib/screens/home/home_screen.dart +++ b/lib/screens/home/home_screen.dart @@ -22,6 +22,7 @@ import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/widgets/patients/profile/profile-welcome-widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; +import 'package:doctor_app_flutter/widgets/shared/errors/error_message.dart'; import 'package:doctor_app_flutter/widgets/shared/loader/gif_loader_dialog_utils.dart'; import 'package:doctor_app_flutter/widgets/transitions/fade_page.dart'; import 'package:flutter/cupertino.dart'; @@ -66,7 +67,8 @@ class _HomeScreenState extends State { return BaseView( onModelReady: (model) async { - model.startHomeScreenServices(projectsProvider, authenticationViewModel); + model.startHomeScreenServices( + projectsProvider, authenticationViewModel); }, builder: (_, model, w) => AppScaffold( baseViewModel: model, @@ -211,37 +213,49 @@ class _HomeScreenState extends State { ])), content: Column( children: [ - model.dashboardItemsList.length > 0 - ? DashboardSwipeWidget( - model.dashboardItemsList, - model, - (sliderIndex) { - setState(() { - sliderActiveIndex = sliderIndex; - }); - }, - ) - : SizedBox(), - model.dashboardItemsList.length > 0 - ? FractionallySizedBox( - widthFactor: 0.90, - child: Container( - child: Column( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - SizedBox( - height: 10, - ), - sliderActiveIndex == 1 - ? DashboardSliderItemWidget( - model.dashboardItemsList[4]) - : sliderActiveIndex == 0 - ? DashboardSliderItemWidget( - model.dashboardItemsList[3]) - : DashboardSliderItemWidget( - model.dashboardItemsList[6]), - ]))) - : SizedBox(), + if (model.state != ViewState.ErrorLocal) + Column( + mainAxisSize: MainAxisSize.min, + children: [ + model.dashboardItemsList.length > 0 + ? DashboardSwipeWidget( + model.dashboardItemsList, + model, + (sliderIndex) { + setState(() { + sliderActiveIndex = sliderIndex; + }); + }, + ) + : SizedBox(), + model.dashboardItemsList.length > 0 + ? FractionallySizedBox( + widthFactor: 0.90, + child: Container( + child: Column( + mainAxisAlignment: + MainAxisAlignment.start, + children: [ + SizedBox( + height: 10, + ), + sliderActiveIndex == 1 + ? DashboardSliderItemWidget( + model.dashboardItemsList[4]) + : sliderActiveIndex == 0 + ? DashboardSliderItemWidget( + model.dashboardItemsList[3]) + : DashboardSliderItemWidget( + model.dashboardItemsList[6]), + ]))) + : SizedBox(), + ], + ) + else + Container( + child: ErrorMessage( + error: model.error, + )), FractionallySizedBox( // widthFactor: 0.90, child: Container( @@ -299,6 +313,7 @@ class _HomeScreenState extends State { ), ) ]), + ]), ), ); @@ -397,11 +412,11 @@ class _HomeScreenState extends State { context, MaterialPageRoute( builder: (context) => OutPatientsScreen( - patientSearchRequestModel: PatientSearchRequestModel( - from: date, - to: date, - doctorID: - authenticationViewModel.doctorProfile.doctorID),), + patientSearchRequestModel: PatientSearchRequestModel( + from: date, + to: date, + doctorID: authenticationViewModel.doctorProfile.doctorID), + ), settings: RouteSettings(name: 'OutPatientsScreen'), )); },