diff --git a/lib/features/base/reloadable/reloadable_controller.dart b/lib/features/base/reloadable/reloadable_controller.dart index e7aba4c68..450c9f638 100644 --- a/lib/features/base/reloadable/reloadable_controller.dart +++ b/lib/features/base/reloadable/reloadable_controller.dart @@ -13,6 +13,7 @@ import 'package:tmail_ui_user/features/base/base_controller.dart'; import 'package:tmail_ui_user/features/caching/caching_manager.dart'; import 'package:tmail_ui_user/features/caching/config/hive_cache_config.dart'; import 'package:tmail_ui_user/features/login/data/network/config/authorization_interceptors.dart'; +import 'package:tmail_ui_user/features/login/domain/state/get_authenticated_account_state.dart'; import 'package:tmail_ui_user/features/login/domain/state/get_credential_state.dart'; import 'package:tmail_ui_user/features/login/domain/state/get_stored_token_oidc_state.dart'; import 'package:tmail_ui_user/features/login/domain/usecases/delete_authority_oidc_interactor.dart'; @@ -63,6 +64,8 @@ abstract class ReloadableController extends BaseController { log('ReloadableController::onData(): LogoutOidcFailure: $failure'); } else if (failure is GetStoredTokenOidcFailure) { _goToLogin(arguments: LoginArguments(LoginFormType.ssoForm)); + } else if (failure is GetAuthenticatedAccountFailure || failure is NoAuthenticatedAccountFailure) { + _goToLogin(arguments: LoginArguments(LoginFormType.credentialForm)); } }, (success) { diff --git a/lib/features/login/domain/state/get_authenticated_account_state.dart b/lib/features/login/domain/state/get_authenticated_account_state.dart index 6639d21ff..fc23bd7b8 100644 --- a/lib/features/login/domain/state/get_authenticated_account_state.dart +++ b/lib/features/login/domain/state/get_authenticated_account_state.dart @@ -20,7 +20,7 @@ class GetAuthenticatedAccountSuccess extends UIState { } class GetAuthenticatedAccountFailure extends FeatureFailure { - final exception; + final dynamic exception; GetAuthenticatedAccountFailure(this.exception); diff --git a/lib/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart b/lib/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart index cfbb04b14..a05645ea0 100644 --- a/lib/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart +++ b/lib/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart @@ -163,13 +163,9 @@ class MailboxDashBoardController extends ReloadableController { @override void onReady() { - log('MailboxDashBoardController::onReady()'); - dispatchRoute(DashboardRoutes.thread); _registerPendingEmailAddress(); _registerPendingFileInfo(); - _setSessionCurrent(); - _getUserProfile(); - _getVacationResponse(); + _getSessionCurrent(); _getAppVersion(); super.onReady(); } @@ -326,18 +322,18 @@ class MailboxDashBoardController extends ReloadableController { userProfile.value = sessionCurrent != null ? UserProfile(sessionCurrent!.username.value) : null; } - void _setSessionCurrent() { + void _getSessionCurrent() { final arguments = Get.arguments; log('MailboxDashBoardController::_setSessionCurrent(): arguments = $arguments'); if (arguments is Session) { sessionCurrent = arguments; accountId.value = sessionCurrent?.accounts.keys.first; + _getUserProfile(); injectAutoCompleteBindings(sessionCurrent, accountId.value); injectVacationBindings(sessionCurrent, accountId.value); + _getVacationResponse(); } else { - if (kIsWeb) { - reload(); - } + reload(); } } diff --git a/lib/main/bindings/core/core_bindings.dart b/lib/main/bindings/core/core_bindings.dart index cebe5745c..3d53992ee 100644 --- a/lib/main/bindings/core/core_bindings.dart +++ b/lib/main/bindings/core/core_bindings.dart @@ -59,6 +59,6 @@ class CoreBindings extends Bindings { void _bindingUtils() { Get.put(const Uuid()); Get.put(CompressFileUtils()); - Get.lazyPut(() => AppConfigLoader()); + Get.put(AppConfigLoader()); } } \ No newline at end of file diff --git a/lib/main/pages/app_pages.dart b/lib/main/pages/app_pages.dart index b30ae08a9..014e69ae7 100644 --- a/lib/main/pages/app_pages.dart +++ b/lib/main/pages/app_pages.dart @@ -1,3 +1,4 @@ +import 'package:core/core.dart'; import 'package:get/get.dart'; import 'package:get/get_navigation/src/routes/get_route.dart'; import 'package:tmail_ui_user/features/composer/presentation/composer_bindings.dart'; @@ -47,13 +48,14 @@ class AppPages { name: AppRoutes.dashboard, page: () => DeferredWidget(mailbox_dashboard.loadLibrary, () => mailbox_dashboard.MailboxDashBoardView()), binding: MailboxDashBoardBindings()), - GetPage( - name: AppRoutes.composer, - opaque: false, - page: () { - ComposerBindings().dependencies(); - return DeferredWidget(composer.loadLibrary, () => composer.ComposerView()); - }), + if (!BuildUtils.isWeb) + GetPage( + name: AppRoutes.composer, + opaque: false, + page: () { + ComposerBindings().dependencies(); + return DeferredWidget(composer.loadLibrary, () => composer.ComposerView()); + }), GetPage( name: AppRoutes.destinationPicker, opaque: false, diff --git a/lib/main/routes/app_routes.dart b/lib/main/routes/app_routes.dart index 88e70383f..ee3031b10 100644 --- a/lib/main/routes/app_routes.dart +++ b/lib/main/routes/app_routes.dart @@ -2,7 +2,7 @@ abstract class AppRoutes { static const home = '/'; static const login = '/login'; static const session = '/session'; - static const dashboard = '/dashBoard'; + static const dashboard = '/dashboard'; static const composer = '/composer'; static const destinationPicker = '/destination_picker'; static const settings = '/settings';