TF-2134 Handle navigation route from mailto URL
(cherry picked from commit b8dc3cab162c7c34299e53ca3269a1c9b9393db0)
This commit is contained in:
@@ -25,6 +25,7 @@ import 'package:tmail_ui_user/features/email/domain/state/delete_email_permanent
|
||||
import 'package:tmail_ui_user/features/email/domain/state/delete_multiple_emails_permanently_state.dart';
|
||||
import 'package:tmail_ui_user/features/email/domain/state/mark_as_email_read_state.dart';
|
||||
import 'package:tmail_ui_user/features/email/domain/state/move_to_mailbox_state.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/model/composer_arguments.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/domain/model/create_new_mailbox_request.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/domain/model/mailbox_subscribe_action_state.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/domain/model/mailbox_subscribe_state.dart';
|
||||
@@ -402,6 +403,12 @@ class MailboxController extends BaseMailboxController with MailboxActionHandlerM
|
||||
log('MailboxController::_handleDataFromNavigationRouter():navigationRouter: $navigationRouter');
|
||||
|
||||
if (isHasDataFromRoute) {
|
||||
if (isRedirectToMailtoURL) {
|
||||
mailboxDashBoardController.goToComposer(
|
||||
ComposerArguments.fromMailtoURL(navigationRouter?.emailAddress)
|
||||
);
|
||||
}
|
||||
|
||||
if (mailboxIdFromNavigationRouter != null) {
|
||||
_selectMailboxFromRouter();
|
||||
} else if (emailIdFromNavigationRouter != null) {
|
||||
@@ -431,6 +438,8 @@ class MailboxController extends BaseMailboxController with MailboxActionHandlerM
|
||||
|
||||
SearchQuery? get searchQueryFromNavigationRouter => navigationRouter?.searchQuery;
|
||||
|
||||
bool get isRedirectToMailtoURL => navigationRouter?.routeName == AppRoutes.mailtoURL;
|
||||
|
||||
void _clearNavigationRouter() {
|
||||
mailboxDashBoardController.navigationRouter = null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user