TF-1074 Handle go to path /dashboard

This commit is contained in:
dab246
2022-10-24 17:49:09 +07:00
committed by Dat H. Pham
parent b5e0569907
commit d3124f055b
6 changed files with 20 additions and 19 deletions
@@ -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/caching_manager.dart';
import 'package:tmail_ui_user/features/caching/config/hive_cache_config.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/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_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/state/get_stored_token_oidc_state.dart';
import 'package:tmail_ui_user/features/login/domain/usecases/delete_authority_oidc_interactor.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'); log('ReloadableController::onData(): LogoutOidcFailure: $failure');
} else if (failure is GetStoredTokenOidcFailure) { } else if (failure is GetStoredTokenOidcFailure) {
_goToLogin(arguments: LoginArguments(LoginFormType.ssoForm)); _goToLogin(arguments: LoginArguments(LoginFormType.ssoForm));
} else if (failure is GetAuthenticatedAccountFailure || failure is NoAuthenticatedAccountFailure) {
_goToLogin(arguments: LoginArguments(LoginFormType.credentialForm));
} }
}, },
(success) { (success) {
@@ -20,7 +20,7 @@ class GetAuthenticatedAccountSuccess extends UIState {
} }
class GetAuthenticatedAccountFailure extends FeatureFailure { class GetAuthenticatedAccountFailure extends FeatureFailure {
final exception; final dynamic exception;
GetAuthenticatedAccountFailure(this.exception); GetAuthenticatedAccountFailure(this.exception);
@@ -163,13 +163,9 @@ class MailboxDashBoardController extends ReloadableController {
@override @override
void onReady() { void onReady() {
log('MailboxDashBoardController::onReady()');
dispatchRoute(DashboardRoutes.thread);
_registerPendingEmailAddress(); _registerPendingEmailAddress();
_registerPendingFileInfo(); _registerPendingFileInfo();
_setSessionCurrent(); _getSessionCurrent();
_getUserProfile();
_getVacationResponse();
_getAppVersion(); _getAppVersion();
super.onReady(); super.onReady();
} }
@@ -326,18 +322,18 @@ class MailboxDashBoardController extends ReloadableController {
userProfile.value = sessionCurrent != null ? UserProfile(sessionCurrent!.username.value) : null; userProfile.value = sessionCurrent != null ? UserProfile(sessionCurrent!.username.value) : null;
} }
void _setSessionCurrent() { void _getSessionCurrent() {
final arguments = Get.arguments; final arguments = Get.arguments;
log('MailboxDashBoardController::_setSessionCurrent(): arguments = $arguments'); log('MailboxDashBoardController::_setSessionCurrent(): arguments = $arguments');
if (arguments is Session) { if (arguments is Session) {
sessionCurrent = arguments; sessionCurrent = arguments;
accountId.value = sessionCurrent?.accounts.keys.first; accountId.value = sessionCurrent?.accounts.keys.first;
_getUserProfile();
injectAutoCompleteBindings(sessionCurrent, accountId.value); injectAutoCompleteBindings(sessionCurrent, accountId.value);
injectVacationBindings(sessionCurrent, accountId.value); injectVacationBindings(sessionCurrent, accountId.value);
_getVacationResponse();
} else { } else {
if (kIsWeb) { reload();
reload();
}
} }
} }
+1 -1
View File
@@ -59,6 +59,6 @@ class CoreBindings extends Bindings {
void _bindingUtils() { void _bindingUtils() {
Get.put(const Uuid()); Get.put(const Uuid());
Get.put(CompressFileUtils()); Get.put(CompressFileUtils());
Get.lazyPut(() => AppConfigLoader()); Get.put(AppConfigLoader());
} }
} }
+9 -7
View File
@@ -1,3 +1,4 @@
import 'package:core/core.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:get/get_navigation/src/routes/get_route.dart'; import 'package:get/get_navigation/src/routes/get_route.dart';
import 'package:tmail_ui_user/features/composer/presentation/composer_bindings.dart'; import 'package:tmail_ui_user/features/composer/presentation/composer_bindings.dart';
@@ -47,13 +48,14 @@ class AppPages {
name: AppRoutes.dashboard, name: AppRoutes.dashboard,
page: () => DeferredWidget(mailbox_dashboard.loadLibrary, () => mailbox_dashboard.MailboxDashBoardView()), page: () => DeferredWidget(mailbox_dashboard.loadLibrary, () => mailbox_dashboard.MailboxDashBoardView()),
binding: MailboxDashBoardBindings()), binding: MailboxDashBoardBindings()),
GetPage( if (!BuildUtils.isWeb)
name: AppRoutes.composer, GetPage(
opaque: false, name: AppRoutes.composer,
page: () { opaque: false,
ComposerBindings().dependencies(); page: () {
return DeferredWidget(composer.loadLibrary, () => composer.ComposerView()); ComposerBindings().dependencies();
}), return DeferredWidget(composer.loadLibrary, () => composer.ComposerView());
}),
GetPage( GetPage(
name: AppRoutes.destinationPicker, name: AppRoutes.destinationPicker,
opaque: false, opaque: false,
+1 -1
View File
@@ -2,7 +2,7 @@ abstract class AppRoutes {
static const home = '/'; static const home = '/';
static const login = '/login'; static const login = '/login';
static const session = '/session'; static const session = '/session';
static const dashboard = '/dashBoard'; static const dashboard = '/dashboard';
static const composer = '/composer'; static const composer = '/composer';
static const destinationPicker = '/destination_picker'; static const destinationPicker = '/destination_picker';
static const settings = '/settings'; static const settings = '/settings';