TF-2134 Handle navigation route from mailto URL

(cherry picked from commit b8dc3cab162c7c34299e53ca3269a1c9b9393db0)
This commit is contained in:
dab246
2023-09-12 02:17:24 +07:00
committed by Dat Vu
parent b645c6ae1a
commit 623102d96f
2 changed files with 45 additions and 20 deletions
@@ -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;
}