diff --git a/lib/features/mailbox_dashboard/presentation/mixin/user_setting_popup_menu_mixin.dart b/lib/features/mailbox_dashboard/presentation/mixin/user_setting_popup_menu_mixin.dart index 0cf702606..f0f25871c 100644 --- a/lib/features/mailbox_dashboard/presentation/mixin/user_setting_popup_menu_mixin.dart +++ b/lib/features/mailbox_dashboard/presentation/mixin/user_setting_popup_menu_mixin.dart @@ -8,21 +8,37 @@ import 'package:tmail_ui_user/main/localizations/app_localizations.dart'; mixin UserSettingPopupMenuMixin { final _imagePaths = Get.find(); - List popupMenuUserSettingActionTile(BuildContext context, UserProfile? userProfile, - {Function? onLogoutAction, Function? onSettingAction}) { + List popupMenuUserSettingActionTile( + BuildContext context, + UserProfile? userProfile, + { + Function? onLogoutAction, + Function? onSettingAction + } + ) { return [ PopupMenuItem( - enabled: false, - padding: EdgeInsets.zero, - child: _userInformation(context, userProfile)), - const PopupMenuDivider(height: 0.5), - PopupMenuItem( - padding: EdgeInsets.zero, - child: _settingAction(context, onSettingAction)), - const PopupMenuDivider(height: 0.5), - PopupMenuItem( - padding: EdgeInsets.zero, - child: _logoutAction(context, onLogoutAction)), + enabled: false, + padding: EdgeInsets.zero, + child: _userInformation(context, userProfile) + ), + if (onSettingAction != null) + ...[ + const PopupMenuDivider(height: 0.5), + PopupMenuItem( + padding: EdgeInsets.zero, + child: _settingAction(context, onSettingAction) + ), + const PopupMenuDivider(height: 0.5), + ], + if (onLogoutAction != null) + ...[ + const PopupMenuDivider(height: 0.5), + PopupMenuItem( + padding: EdgeInsets.zero, + child: _logoutAction(context, onLogoutAction) + ), + ] ]; } 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 f29a91a2a..596fb5598 100644 --- a/lib/features/manage_account/presentation/manage_account_dashboard_controller.dart +++ b/lib/features/manage_account/presentation/manage_account_dashboard_controller.dart @@ -215,13 +215,6 @@ class ManageAccountDashBoardController extends ReloadableController { } } - void goToSettings() { - popAndPush( - AppRoutes.settings, - arguments: ManageAccountArguments(sessionCurrent) - ); - } - void backToMailboxDashBoard({BuildContext? context}) { if (context != null && canBack(context)) { popBack(result: vacationResponse.value); diff --git a/lib/features/manage_account/presentation/manage_account_dashboard_view.dart b/lib/features/manage_account/presentation/manage_account_dashboard_view.dart index 2afbbaddb..91b08cad1 100644 --- a/lib/features/manage_account/presentation/manage_account_dashboard_view.dart +++ b/lib/features/manage_account/presentation/manage_account_dashboard_view.dart @@ -132,17 +132,20 @@ class ManageAccountDashBoardView extends GetWidget - controller.openPopupMenuAction(context, position, popupMenuUserSettingActionTile(context, - controller.userProfile.value, - onLogoutAction: () { - popBack(); - controller.logout(controller.sessionCurrent, controller.accountId.value); - }, - onSettingAction: () { - popBack(); - controller.goToSettings(); - }))) + ..addOnTapAvatarActionWithPositionClick((position) { + return controller.openPopupMenuAction( + context, + position, + popupMenuUserSettingActionTile( + context, + controller.userProfile.value, + onLogoutAction: () { + popBack(); + controller.logout(controller.sessionCurrent, controller.accountId.value); + } + ) + ); + }) ..addBoxShadows([const BoxShadow( color: AppColor.colorShadowBgContentEmail, spreadRadius: 1, blurRadius: 1, offset: Offset(0, 0.5))])