TF-2101 Handle open recover_deleted_messages
(cherry picked from commit a58beb7a293471f39b080805c652c9d6f73dfe20)
This commit is contained in:
@@ -1038,6 +1038,9 @@ class MailboxController extends BaseMailboxController with MailboxActionHandlerM
|
|||||||
case MailboxActions.newSubfolder:
|
case MailboxActions.newSubfolder:
|
||||||
goToCreateNewMailboxView(context, parentMailbox: mailbox);
|
goToCreateNewMailboxView(context, parentMailbox: mailbox);
|
||||||
break;
|
break;
|
||||||
|
case MailboxActions.recoverDeletedMessages:
|
||||||
|
mailboxDashBoardController.gotoEmailRecovery();
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
+12
@@ -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
|
@override
|
||||||
void onClose() {
|
void onClose() {
|
||||||
_emailReceiveManager.closeEmailReceiveManagerStream();
|
_emailReceiveManager.closeEmailReceiveManagerStream();
|
||||||
|
|||||||
@@ -441,17 +441,15 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView {
|
|||||||
Obx(() {
|
Obx(() {
|
||||||
final mailboxSelected = controller.selectedMailbox.value;
|
final mailboxSelected = controller.selectedMailbox.value;
|
||||||
if (mailboxSelected != null && mailboxSelected.role == PresentationMailbox.roleTrash) {
|
if (mailboxSelected != null && mailboxSelected.role == PresentationMailbox.roleTrash) {
|
||||||
return Row(
|
return Padding(
|
||||||
children: [
|
padding: const EdgeInsetsDirectional.only(start: 16),
|
||||||
const SizedBox(width: 16),
|
child: TMailButtonWidget.fromIcon(
|
||||||
TMailButtonWidget.fromIcon(
|
key: const Key('recover_deleted_messages_button'),
|
||||||
key: const Key('recover_deleted_messages_button'),
|
icon: controller.imagePaths.icRecoverDeletedMessages,
|
||||||
icon: controller.imagePaths.icRecoverDeletedMessages,
|
borderRadius: 10,
|
||||||
borderRadius: 10,
|
iconSize: 16,
|
||||||
iconSize: 16,
|
onTapActionCallback: () => controller.gotoEmailRecovery(),
|
||||||
onTapActionCallback: () => controller.gotoEmailRecovery(),
|
),
|
||||||
)
|
|
||||||
],
|
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
return const SizedBox.shrink();
|
return const SizedBox.shrink();
|
||||||
|
|||||||
@@ -3768,7 +3768,7 @@ class AppLocalizations {
|
|||||||
|
|
||||||
String get bannerProgressingRecoveryMessage {
|
String get bannerProgressingRecoveryMessage {
|
||||||
return Intl.message(
|
return Intl.message(
|
||||||
'The recovery is in progress. You can continue using TeamMail',
|
'The recovery is in progress. You can continue using TwakeMail',
|
||||||
name: 'bannerProgressingRecoveryMessage',
|
name: 'bannerProgressingRecoveryMessage',
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import 'package:tmail_ui_user/features/composer/presentation/composer_view.dart'
|
|||||||
import 'package:tmail_ui_user/features/contact/presentation/contact_bindings.dart';
|
import 'package:tmail_ui_user/features/contact/presentation/contact_bindings.dart';
|
||||||
import 'package:tmail_ui_user/features/destination_picker/presentation/destination_picker_bindings.dart';
|
import 'package:tmail_ui_user/features/destination_picker/presentation/destination_picker_bindings.dart';
|
||||||
import 'package:tmail_ui_user/features/destination_picker/presentation/destination_picker_view.dart' deferred as destination_picker;
|
import 'package:tmail_ui_user/features/destination_picker/presentation/destination_picker_view.dart' deferred as destination_picker;
|
||||||
|
import 'package:tmail_ui_user/features/email_recovery/presentation/email_recovery_bindings.dart';
|
||||||
import 'package:tmail_ui_user/features/home/presentation/home_bindings.dart';
|
import 'package:tmail_ui_user/features/home/presentation/home_bindings.dart';
|
||||||
import 'package:tmail_ui_user/features/home/presentation/home_view.dart';
|
import 'package:tmail_ui_user/features/home/presentation/home_view.dart';
|
||||||
import 'package:tmail_ui_user/features/contact/presentation/contact_view.dart' deferred as contact_view;
|
import 'package:tmail_ui_user/features/contact/presentation/contact_view.dart' deferred as contact_view;
|
||||||
@@ -32,6 +33,7 @@ import 'package:tmail_ui_user/main/pages/deferred_widget.dart';
|
|||||||
import 'package:tmail_ui_user/main/routes/app_routes.dart';
|
import 'package:tmail_ui_user/main/routes/app_routes.dart';
|
||||||
import 'package:tmail_ui_user/features/search/mailbox/presentation/search_mailbox_view.dart' deferred as search_mailbox_view;
|
import 'package:tmail_ui_user/features/search/mailbox/presentation/search_mailbox_view.dart' deferred as search_mailbox_view;
|
||||||
import 'package:tmail_ui_user/features/mailto/presentation/mailto_url_view.dart' deferred as mailto_url_view;
|
import 'package:tmail_ui_user/features/mailto/presentation/mailto_url_view.dart' deferred as mailto_url_view;
|
||||||
|
import 'package:tmail_ui_user/features/email_recovery/presentation/email_recovery_view.dart' deferred as email_recovery;
|
||||||
|
|
||||||
class AppPages {
|
class AppPages {
|
||||||
static final pages = [
|
static final pages = [
|
||||||
@@ -125,6 +127,14 @@ class AppPages {
|
|||||||
() => identity_creator.IdentityCreatorView()
|
() => identity_creator.IdentityCreatorView()
|
||||||
),
|
),
|
||||||
binding: IdentityCreatorBindings()),
|
binding: IdentityCreatorBindings()),
|
||||||
|
GetPage(
|
||||||
|
name: AppRoutes.emailRecovery,
|
||||||
|
opaque: false,
|
||||||
|
page: () => DeferredWidget(
|
||||||
|
email_recovery.loadLibrary,
|
||||||
|
() => email_recovery.EmailRecoveryView()
|
||||||
|
),
|
||||||
|
binding: EmailRecoveryBindings()),
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@@ -14,4 +14,5 @@ abstract class AppRoutes {
|
|||||||
static const unknownRoutePage = '/notfound';
|
static const unknownRoutePage = '/notfound';
|
||||||
static const searchMailbox = '/search_mailbox';
|
static const searchMailbox = '/search_mailbox';
|
||||||
static const mailtoURL = '/mailto';
|
static const mailtoURL = '/mailto';
|
||||||
|
static const emailRecovery = '/email_recovery';
|
||||||
}
|
}
|
||||||
@@ -6,6 +6,8 @@ import 'package:tmail_ui_user/features/contact/presentation/contact_bindings.dar
|
|||||||
import 'package:tmail_ui_user/features/contact/presentation/contact_view.dart';
|
import 'package:tmail_ui_user/features/contact/presentation/contact_view.dart';
|
||||||
import 'package:tmail_ui_user/features/destination_picker/presentation/destination_picker_bindings.dart';
|
import 'package:tmail_ui_user/features/destination_picker/presentation/destination_picker_bindings.dart';
|
||||||
import 'package:tmail_ui_user/features/destination_picker/presentation/destination_picker_view.dart';
|
import 'package:tmail_ui_user/features/destination_picker/presentation/destination_picker_view.dart';
|
||||||
|
import 'package:tmail_ui_user/features/email_recovery/presentation/email_recovery_bindings.dart';
|
||||||
|
import 'package:tmail_ui_user/features/email_recovery/presentation/email_recovery_view.dart';
|
||||||
import 'package:tmail_ui_user/features/identity_creator/presentation/identity_creator_bindings.dart';
|
import 'package:tmail_ui_user/features/identity_creator/presentation/identity_creator_bindings.dart';
|
||||||
import 'package:tmail_ui_user/features/identity_creator/presentation/identity_creator_view.dart';
|
import 'package:tmail_ui_user/features/identity_creator/presentation/identity_creator_view.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox_creator/presentation/mailbox_creator_bindings.dart';
|
import 'package:tmail_ui_user/features/mailbox_creator/presentation/mailbox_creator_bindings.dart';
|
||||||
@@ -46,6 +48,9 @@ class DialogRouter {
|
|||||||
case AppRoutes.contact:
|
case AppRoutes.contact:
|
||||||
ContactBindings().dependencies();
|
ContactBindings().dependencies();
|
||||||
break;
|
break;
|
||||||
|
case AppRoutes.emailRecovery:
|
||||||
|
EmailRecoveryBindings().dependencies();
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -62,6 +67,8 @@ class DialogRouter {
|
|||||||
return DestinationPickerView();
|
return DestinationPickerView();
|
||||||
case AppRoutes.contact:
|
case AppRoutes.contact:
|
||||||
return const ContactView();
|
return const ContactView();
|
||||||
|
case AppRoutes.emailRecovery:
|
||||||
|
return EmailRecoveryView();
|
||||||
default:
|
default:
|
||||||
return const SizedBox.shrink();
|
return const SizedBox.shrink();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user