TF-2101 Handle open recover_deleted_messages

(cherry picked from commit a58beb7a293471f39b080805c652c9d6f73dfe20)
This commit is contained in:
hieubt
2023-12-20 23:50:02 +07:00
committed by Dat H. Pham
parent 61e3067c57
commit bf0030e7d7
7 changed files with 43 additions and 12 deletions
@@ -1038,6 +1038,9 @@ class MailboxController extends BaseMailboxController with MailboxActionHandlerM
case MailboxActions.newSubfolder:
goToCreateNewMailboxView(context, parentMailbox: mailbox);
break;
case MailboxActions.recoverDeletedMessages:
mailboxDashBoardController.gotoEmailRecovery();
break;
default:
break;
}
@@ -2426,6 +2426,18 @@ class MailboxDashBoardController extends ReloadableController {
}
}
void gotoEmailRecovery() async {
closeMailboxMenuDrawer();
if (PlatformInfo.isWeb) {
await DialogRouter.pushGeneralDialog(
routeName: AppRoutes.emailRecovery,
arguments: {},
);
} else {
await push(AppRoutes.emailRecovery);
}
}
@override
void onClose() {
_emailReceiveManager.closeEmailReceiveManagerStream();
@@ -441,17 +441,15 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView {
Obx(() {
final mailboxSelected = controller.selectedMailbox.value;
if (mailboxSelected != null && mailboxSelected.role == PresentationMailbox.roleTrash) {
return Row(
children: [
const SizedBox(width: 16),
TMailButtonWidget.fromIcon(
key: const Key('recover_deleted_messages_button'),
icon: controller.imagePaths.icRecoverDeletedMessages,
borderRadius: 10,
iconSize: 16,
onTapActionCallback: () => controller.gotoEmailRecovery(),
)
],
return Padding(
padding: const EdgeInsetsDirectional.only(start: 16),
child: TMailButtonWidget.fromIcon(
key: const Key('recover_deleted_messages_button'),
icon: controller.imagePaths.icRecoverDeletedMessages,
borderRadius: 10,
iconSize: 16,
onTapActionCallback: () => controller.gotoEmailRecovery(),
),
);
} else {
return const SizedBox.shrink();