diff --git a/lib/client/base_app_client.dart b/lib/client/base_app_client.dart index d6a72ab6..d79f0338 100644 --- a/lib/client/base_app_client.dart +++ b/lib/client/base_app_client.dart @@ -3,6 +3,7 @@ import 'dart:io' show Platform; import 'package:doctor_app_flutter/config/config.dart'; import 'package:doctor_app_flutter/config/shared_pref_kay.dart'; +import 'package:doctor_app_flutter/core/viewModel/authentication_view_model.dart'; import 'package:doctor_app_flutter/models/doctor/doctor_profile_model.dart'; import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart'; import 'package:doctor_app_flutter/util/dr_app_shared_pref.dart'; @@ -97,7 +98,7 @@ class BaseAppClient { if (body['OTP_SendType'] != null) { onFailure(getError(parsed), statusCode); } else if (!isAllowAny) { - await Helpers.logout(); + await AuthenticationViewModel().logout(); Helpers.showErrorToast('Your session expired Please login again'); } if (isAllowAny) { diff --git a/lib/config/config.dart b/lib/config/config.dart index 382e84b2..852e7bab 100644 --- a/lib/config/config.dart +++ b/lib/config/config.dart @@ -326,9 +326,6 @@ var SERVICES_PATIANT_HEADER_AR = [ "المريض المحول مني", "المريض الواصل" ]; -//****************** - -// Colors ////// by : ibrahim var DEVICE_TOKEN = ""; const PRIMARY_COLOR = 0xff515B5D; diff --git a/lib/core/viewModel/authentication_view_model.dart b/lib/core/viewModel/authentication_view_model.dart index 77f76abb..6022dceb 100644 --- a/lib/core/viewModel/authentication_view_model.dart +++ b/lib/core/viewModel/authentication_view_model.dart @@ -23,10 +23,13 @@ import 'package:doctor_app_flutter/models/doctor/clinic_model.dart'; import 'package:doctor_app_flutter/models/doctor/doctor_profile_model.dart'; import 'package:doctor_app_flutter/models/doctor/profile_req_Model.dart'; import 'package:doctor_app_flutter/models/doctor/user_model.dart'; -import 'package:doctor_app_flutter/screens/auth/verification_methods_screen.dart'; +import 'package:doctor_app_flutter/screens/auth/login_screen.dart'; import 'package:doctor_app_flutter/util/dr_app_toast_msg.dart'; +import 'package:doctor_app_flutter/util/helpers.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; +import 'package:doctor_app_flutter/widgets/transitions/fade_page.dart'; import 'package:firebase_messaging/firebase_messaging.dart'; +import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:local_auth/auth_strings.dart'; import 'package:local_auth/local_auth.dart'; @@ -355,10 +358,6 @@ class AuthenticationViewModel extends BaseViewModel { sharedPref.setObj( LAST_LOGIN_USER, _authService.dashboardItemsList[0]); this.unverified = true; - // Navigator.of(AppGlobal.CONTEX).pushReplacement(MaterialPageRoute( - // builder: (BuildContext context) => VerificationMethodsScreen( - // password: null, - // ))); } setState(ViewState.Idle); } @@ -369,7 +368,7 @@ class AuthenticationViewModel extends BaseViewModel { } - APP_STATUS get stutas { + APP_STATUS get status { if (state == ViewState.Busy) { return APP_STATUS.LOADING; } else { @@ -383,4 +382,19 @@ class AuthenticationViewModel extends BaseViewModel { } } + + logout() async { + DEVICE_TOKEN = ""; + String lang = await sharedPref.getString(APP_Language); + await Helpers.clearSharedPref(); + sharedPref.setString(APP_Language, lang); + ProjectViewModel().isLogin = false; + Navigator.pushAndRemoveUntil( + AppGlobal.CONTEX, + FadePage( + page: LoginScreen(), + ), + (r) => false); + } + } diff --git a/lib/root_page.dart b/lib/root_page.dart index 5c14288e..35a3fa44 100644 --- a/lib/root_page.dart +++ b/lib/root_page.dart @@ -15,7 +15,7 @@ class RootPage extends StatelessWidget { Widget build(BuildContext context) { AuthenticationViewModel authenticationViewModel = Provider.of(context); Widget buildRoot() { - switch (authenticationViewModel.stutas) { + switch (authenticationViewModel.status) { case APP_STATUS.LOADING: return Scaffold( body: AppLoaderWidget(), diff --git a/lib/util/helpers.dart b/lib/util/helpers.dart index eb702d8d..0f8f5183 100644 --- a/lib/util/helpers.dart +++ b/lib/util/helpers.dart @@ -144,20 +144,6 @@ class Helpers { await sharedPref.clear(); } - static logout() async { - DEVICE_TOKEN = ""; - String lang = await sharedPref.getString(APP_Language); - await clearSharedPref(); - sharedPref.setString(APP_Language, lang); - ProjectViewModel().isLogin = false; - Navigator.pushAndRemoveUntil( - AppGlobal.CONTEX, - FadePage( - page: LoginScreen(), - ), - (r) => false); - } - navigateToUpdatePage(String message, String androidLink, iosLink) { Navigator.pushAndRemoveUntil( AppGlobal.CONTEX, diff --git a/lib/widgets/shared/app_drawer_widget.dart b/lib/widgets/shared/app_drawer_widget.dart index a69b1370..db328462 100644 --- a/lib/widgets/shared/app_drawer_widget.dart +++ b/lib/widgets/shared/app_drawer_widget.dart @@ -172,7 +172,7 @@ class _AppDrawerState extends State { ), onTap: () async { Navigator.pop(context); - await Helpers.logout(); + await AuthenticationViewModel().logout(); projectsProvider.isLogin = false; }, ),