diff --git a/lib/features/mailbox_dashboard/presentation/mailbox_dashboard_controller.dart b/lib/features/mailbox_dashboard/presentation/mailbox_dashboard_controller.dart index 2e9e98d3d..1ead6cf70 100644 --- a/lib/features/mailbox_dashboard/presentation/mailbox_dashboard_controller.dart +++ b/lib/features/mailbox_dashboard/presentation/mailbox_dashboard_controller.dart @@ -10,11 +10,11 @@ import 'package:jmap_dart_client/jmap/account_id.dart'; import 'package:jmap_dart_client/jmap/core/capability/capability_identifier.dart'; import 'package:jmap_dart_client/jmap/core/capability/mail_capability.dart'; import 'package:jmap_dart_client/jmap/core/session/session.dart'; +import 'package:jmap_dart_client/jmap/core/sort/comparator.dart'; import 'package:jmap_dart_client/jmap/core/unsigned_int.dart'; import 'package:jmap_dart_client/jmap/core/utc_date.dart'; import 'package:jmap_dart_client/jmap/mail/email/email.dart'; import 'package:jmap_dart_client/jmap/mail/email/email_comparator.dart'; -import 'package:jmap_dart_client/jmap/core/sort/comparator.dart'; import 'package:jmap_dart_client/jmap/mail/email/email_comparator_property.dart'; import 'package:jmap_dart_client/jmap/mail/email/email_filter_condition.dart'; import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart'; @@ -37,7 +37,6 @@ import 'package:tmail_ui_user/features/email/domain/usecases/move_to_mailbox_int import 'package:tmail_ui_user/features/email/presentation/model/composer_arguments.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/domain/model/recent_search.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/domain/state/get_all_recent_search_latest_state.dart'; -import 'package:tmail_ui_user/features/mailbox_dashboard/domain/state/get_user_profile_state.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/domain/state/quick_search_email_state.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/domain/state/remove_email_drafts_state.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/domain/usecases/get_all_recent_search_latest_interactor.dart'; @@ -162,9 +161,7 @@ class MailboxDashBoardController extends ReloadableController { } }, (success) { - if (success is GetUserProfileSuccess) { - userProfile.value = success.userProfile; - } else if (success is SendEmailSuccess) { + if (success is SendEmailSuccess) { if (currentOverlayContext != null && currentContext != null) { _appToast.showToastWithIcon( currentOverlayContext!, @@ -214,7 +211,7 @@ class MailboxDashBoardController extends ReloadableController { } void _getUserProfile() async { - consumeState(_getUserProfileInteractor.execute()); + userProfile.value = sessionCurrent != null ? UserProfile(sessionCurrent!.username.value) : null; } void _setSessionCurrent() { @@ -539,7 +536,7 @@ class MailboxDashBoardController extends ReloadableController { closeMailboxMenuDrawer(); } push(AppRoutes.MANAGE_ACCOUNT, - arguments: ManageAccountArguments(accountId.value, userProfile.value)); + arguments: ManageAccountArguments(sessionCurrent)); } @override diff --git a/lib/features/manage_account/presentation/manage_account_dashboard_bindings.dart b/lib/features/manage_account/presentation/manage_account_dashboard_bindings.dart index 370058554..a09697a4a 100644 --- a/lib/features/manage_account/presentation/manage_account_dashboard_bindings.dart +++ b/lib/features/manage_account/presentation/manage_account_dashboard_bindings.dart @@ -17,9 +17,7 @@ class ManageAccountDashBoardBindings extends BaseBindings { @override void bindingsController() { - Get.lazyPut(() => ManageAccountDashBoardController( - Get.find(), - )); + Get.lazyPut(() => ManageAccountDashBoardController()); } @override diff --git a/lib/features/manage_account/presentation/manage_account_dashboard_controller.dart b/lib/features/manage_account/presentation/manage_account_dashboard_controller.dart index 5a6d76c11..e22666960 100644 --- a/lib/features/manage_account/presentation/manage_account_dashboard_controller.dart +++ b/lib/features/manage_account/presentation/manage_account_dashboard_controller.dart @@ -9,7 +9,6 @@ import 'package:model/model.dart'; import 'package:package_info_plus/package_info_plus.dart'; import 'package:tmail_ui_user/features/base/reloadable/reloadable_controller.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/domain/state/get_user_profile_state.dart'; -import 'package:tmail_ui_user/features/mailbox_dashboard/domain/usecases/get_user_profile_interactor.dart'; import 'package:tmail_ui_user/features/manage_account/presentation/model/account_menu_item.dart'; import 'package:tmail_ui_user/features/manage_account/presentation/model/manage_account_arguments.dart'; import 'package:tmail_ui_user/main/routes/app_routes.dart'; @@ -19,8 +18,6 @@ class ManageAccountDashBoardController extends ReloadableController { final _responsiveUtils = Get.find(); - final GetUserProfileInteractor _getUserProfileInteractor; - final menuDrawerKey = GlobalKey(debugLabel: 'manage_account'); final appInformation = Rxn(); @@ -28,9 +25,9 @@ class ManageAccountDashBoardController extends ReloadableController { final accountId = Rxn(); final accountMenuItemSelected = AccountMenuItem.profiles.obs; - ManageAccountDashBoardController( - this._getUserProfileInteractor, - ); + Session? sessionCurrent; + + ManageAccountDashBoardController(); @override void onReady() { @@ -57,6 +54,7 @@ class ManageAccountDashBoardController extends ReloadableController { @override void handleReloaded(Session session) { + sessionCurrent = session; accountId.value = session.accounts.keys.first; _getUserProfile(); } @@ -65,8 +63,8 @@ class ManageAccountDashBoardController extends ReloadableController { final arguments = Get.arguments; log('ManageAccountDashBoardController::_getAccountIdAndUserProfile(): $arguments'); if (arguments is ManageAccountArguments) { - accountId.value = arguments.accountId; - userProfile.value = arguments.userProfile; + sessionCurrent = arguments.session; + accountId.value = sessionCurrent?.accounts.keys.first; } else { if (kIsWeb) { reload(); @@ -81,7 +79,7 @@ class ManageAccountDashBoardController extends ReloadableController { } void _getUserProfile() async { - consumeState(_getUserProfileInteractor.execute()); + userProfile.value = sessionCurrent != null ? UserProfile(sessionCurrent!.username.value) : null; } void openMenuDrawer() { @@ -103,7 +101,7 @@ class ManageAccountDashBoardController extends ReloadableController { void goToSettings() { pushAndPop(AppRoutes.MANAGE_ACCOUNT, - arguments: ManageAccountArguments(accountId.value, userProfile.value)); + arguments: ManageAccountArguments(sessionCurrent)); } void backToMailboxDashBoard() { diff --git a/lib/features/manage_account/presentation/model/manage_account_arguments.dart b/lib/features/manage_account/presentation/model/manage_account_arguments.dart index 9c71cbd74..66f4f84ea 100644 --- a/lib/features/manage_account/presentation/model/manage_account_arguments.dart +++ b/lib/features/manage_account/presentation/model/manage_account_arguments.dart @@ -1,15 +1,13 @@ import 'package:equatable/equatable.dart'; -import 'package:jmap_dart_client/jmap/account_id.dart'; -import 'package:model/model.dart'; +import 'package:jmap_dart_client/jmap/core/session/session.dart'; class ManageAccountArguments with EquatableMixin { - final AccountId? accountId; - final UserProfile? userProfile; + final Session? session; - ManageAccountArguments(this.accountId, this.userProfile); + ManageAccountArguments(this.session); @override - List get props => [accountId, userProfile]; + List get props => [session]; } \ No newline at end of file