diff --git a/lib/core/viewModels/medical/medical_view_model.dart b/lib/core/viewModels/medical/medical_view_model.dart index f8b14c6e..8621546b 100644 --- a/lib/core/viewModels/medical/medical_view_model.dart +++ b/lib/core/viewModels/medical/medical_view_model.dart @@ -12,9 +12,10 @@ class MedicalViewModel extends BaseViewModel { _medicalService.appoitmentAllHistoryResultList; getAppointmentHistory() async { + var asd =""; if (authenticatedUserObject.isLogin) { setState(ViewState.Busy); - if (_medicalService.appoitmentAllHistoryResultList.length == 0) + // if (_medicalService.appoitmentAllHistoryResultList.length == 0) await _medicalService.getAppointmentHistory(); if (_medicalService.hasError) { error = _medicalService.error; diff --git a/lib/core/viewModels/project_view_model.dart b/lib/core/viewModels/project_view_model.dart index dce0fe54..91e9b9a3 100644 --- a/lib/core/viewModels/project_view_model.dart +++ b/lib/core/viewModels/project_view_model.dart @@ -18,6 +18,8 @@ class ProjectViewModel extends BaseViewModel { bool isError = false; String error = ''; dynamic searchvalue; + bool isLogin = false; + dynamic get searchValue => searchvalue; diff --git a/lib/pages/base/base_view.dart b/lib/pages/base/base_view.dart index f5311aae..4c606fe2 100644 --- a/lib/pages/base/base_view.dart +++ b/lib/pages/base/base_view.dart @@ -1,10 +1,15 @@ +import 'package:diplomaticquarterapp/config/shared_pref_kay.dart'; import 'package:diplomaticquarterapp/core/service/AuthenticatedUserObject.dart'; import 'package:diplomaticquarterapp/core/viewModels/base_view_model.dart'; +import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; +import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import '../../locator.dart'; +AppSharedPreferences sharedPref = AppSharedPreferences(); + class BaseView extends StatefulWidget { final Widget Function(BuildContext context, T model, Widget child) builder; final Function(T) onModelReady; @@ -20,16 +25,25 @@ class BaseView extends StatefulWidget { class _BaseViewState extends State> { T model = locator(); - AuthenticatedUserObject authenticatedUserObject = locator(); + AuthenticatedUserObject authenticatedUserObject = + locator(); + bool isLogin = false; @override void initState() { - if (widget.onModelReady != null && authenticatedUserObject.isLogin) { + //TODO fix it + //Provider.of(context, listen: false).isLogin; + if (widget.onModelReady != null && Provider.of(context, listen: false).isLogin) { widget.onModelReady(model); } super.initState(); } + getUser() async { + var userData = await sharedPref.getObject(USER_PROFILE); + this.isLogin = userData != null; + } + @override Widget build(BuildContext context) { return ChangeNotifierProvider( diff --git a/lib/pages/landing/home_page.dart b/lib/pages/landing/home_page.dart index fabfeda8..abb5c06a 100644 --- a/lib/pages/landing/home_page.dart +++ b/lib/pages/landing/home_page.dart @@ -40,7 +40,7 @@ class HomePage extends StatefulWidget { } class _HomePageState extends State { - var toDoProvider; + ToDoCountProviderModel toDoProvider; @override void initState() { diff --git a/lib/pages/login/login.dart b/lib/pages/login/login.dart index 2937db11..dd4911e1 100644 --- a/lib/pages/login/login.dart +++ b/lib/pages/login/login.dart @@ -2,6 +2,7 @@ import 'package:diplomaticquarterapp/config/shared_pref_kay.dart'; import 'package:diplomaticquarterapp/config/size_config.dart'; import 'package:diplomaticquarterapp/core/service/AuthenticatedUserObject.dart'; import 'package:diplomaticquarterapp/core/viewModels/appointment_rate_view_model.dart'; +import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; import 'package:diplomaticquarterapp/locator.dart'; import 'package:diplomaticquarterapp/models/Authentication/check_activation_code_response.dart'; import 'package:diplomaticquarterapp/models/Authentication/check_paitent_authentication_req.dart'; @@ -23,6 +24,7 @@ import 'package:diplomaticquarterapp/widgets/text/app_texts_widget.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.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 Login extends StatefulWidget { @@ -46,6 +48,8 @@ class _Login extends State { AuthenticatedUserObject authenticatedUserObject = locator(); + ProjectViewModel projectViewModel; + @override void initState() { // getDeviceToken(); @@ -60,6 +64,7 @@ class _Login extends State { @override Widget build(BuildContext context) { + projectViewModel = Provider.of(context); return AppScaffold( appBarTitle: TranslationBase.of(context).login, isShowAppBar: true, @@ -224,6 +229,7 @@ class _Login extends State { // authenticatedUserObject.user = AuthenticatedUser.fromJson(result.list), authenticatedUserObject.isLogin = true, appointmentRateViewModel.isLogin = true, + projectViewModel.isLogin = true, appointmentRateViewModel .getIsLastAppointmentRatedList() .then((value) => { diff --git a/lib/pages/medical/medical_profile_page.dart b/lib/pages/medical/medical_profile_page.dart index 5a41a18a..30aafff8 100644 --- a/lib/pages/medical/medical_profile_page.dart +++ b/lib/pages/medical/medical_profile_page.dart @@ -61,7 +61,7 @@ class _MedicalProfilePageState extends State { width: double.infinity, // color: Colors.black.withOpacity(0.0) ), - if (model.authenticatedUserObject.isLogin) + if (model.isLogin) ListView.builder( itemBuilder: (context, index) => TimeLineWidget( @@ -81,6 +81,7 @@ class _MedicalProfilePageState extends State { padding: EdgeInsets.symmetric(vertical: 5.0), child: Column( children: [ + if(model.isLogin) Container( width: double.infinity, height: 55, @@ -323,7 +324,7 @@ class _MedicalProfilePageState extends State { ) ], ), - if (model.user != null) + if (model.user != null && model.isLogin) Positioned( top: 185, left: 20, diff --git a/lib/widgets/drawer/app_drawer_widget.dart b/lib/widgets/drawer/app_drawer_widget.dart index ab517337..32f98915 100644 --- a/lib/widgets/drawer/app_drawer_widget.dart +++ b/lib/widgets/drawer/app_drawer_widget.dart @@ -350,6 +350,8 @@ class _AppDrawerState extends State { logout() async { authenticatedUserObject.logout(); + projectProvider.isLogin = false; + await authenticatedUserObject.getUser(); await sharedPref.clear(); this.user = null; Navigator.of(context).pushNamed(HOME); diff --git a/lib/widgets/others/app_scaffold_widget.dart b/lib/widgets/others/app_scaffold_widget.dart index f56f7784..cdfda8f0 100644 --- a/lib/widgets/others/app_scaffold_widget.dart +++ b/lib/widgets/others/app_scaffold_widget.dart @@ -110,7 +110,7 @@ class AppScaffold extends StatelessWidget { ], ) : null, - body: (!authenticatedUserObject.isLogin && isShowDecPage) + body: (!Provider.of(context, listen: false).isLogin && isShowDecPage) ? NotAutPage( title: appBarTitle, description: description,