TF-934 Handle route path when open email in new tab
This commit is contained in:
@@ -43,11 +43,11 @@ class AppPages {
|
||||
page: () => DeferredWidget(session.loadLibrary, () => session.SessionView()),
|
||||
binding: SessionPageBindings()),
|
||||
GetPage(
|
||||
name: AppRoutes.dashboard,
|
||||
page: () => DeferredWidget(
|
||||
mailbox_dashboard.loadLibrary,
|
||||
() => mailbox_dashboard.MailboxDashBoardView()),
|
||||
binding: MailboxDashBoardBindings()),
|
||||
name: AppRoutes.dashboard,
|
||||
page: () => DeferredWidget(
|
||||
mailbox_dashboard.loadLibrary,
|
||||
() => mailbox_dashboard.MailboxDashBoardView()),
|
||||
binding: MailboxDashBoardBindings()),
|
||||
GetPage(
|
||||
name: AppRoutes.dashboardWithParameter,
|
||||
page: () => DeferredWidget(
|
||||
|
||||
@@ -1,17 +1,30 @@
|
||||
|
||||
import 'package:core/data/model/query/query_parameter.dart';
|
||||
import 'package:core/data/network/config/service_path.dart';
|
||||
import 'package:core/utils/app_logger.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/id.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
|
||||
import 'package:tmail_ui_user/features/login/data/extensions/service_path_extension.dart';
|
||||
import 'package:tmail_ui_user/main/routes/navigation_router.dart';
|
||||
|
||||
class BrowserRouteUtils {
|
||||
class RouteUtils {
|
||||
|
||||
static String get baseOriginUrl => Uri.base.origin;
|
||||
|
||||
static String generateRoutePathMobile(String route, NavigationRouter router) {
|
||||
ServicePath servicePath = ServicePath(route);
|
||||
if (router.emailId != null) {
|
||||
servicePath = servicePath.withPathParameter(router.emailId!.id.value);
|
||||
}
|
||||
servicePath = servicePath.withQueryParameters([
|
||||
StringQueryParameter('type', router.dashboardType.name),
|
||||
if (router.mailboxId != null)
|
||||
StringQueryParameter('context', router.mailboxId!.id.value),
|
||||
]);
|
||||
|
||||
return servicePath.path;
|
||||
}
|
||||
|
||||
static Uri generateRoutePathBrowser(String route, NavigationRouter router) {
|
||||
final baseRoutePath = '$baseOriginUrl/#$route';
|
||||
ServicePath servicePath = ServicePath(baseRoutePath);
|
||||
@@ -24,7 +37,6 @@ class BrowserRouteUtils {
|
||||
StringQueryParameter('context', router.mailboxId!.id.value),
|
||||
]);
|
||||
|
||||
log('BrowserRouteUtils::generateRoutePathForBrowser(): routePath: ${servicePath.path}');
|
||||
return Uri.parse(servicePath.path);
|
||||
}
|
||||
|
||||
@@ -33,10 +45,6 @@ class BrowserRouteUtils {
|
||||
final typeParam = parameters['type'];
|
||||
final contextPram = parameters['context'];
|
||||
|
||||
log('BrowserRouteUtils::parsingRouteParametersToNavigationRouter(): idParam: $idParam');
|
||||
log('BrowserRouteUtils::parsingRouteParametersToNavigationRouter(): typeParam: $typeParam');
|
||||
log('BrowserRouteUtils::parsingRouteParametersToNavigationRouter(): contextPram: $contextPram');
|
||||
|
||||
final emailId = idParam != null ? EmailId(Id(idParam)) : null;
|
||||
final mailboxId = contextPram != null ? MailboxId(Id(contextPram)) : null;
|
||||
final dashboardType = typeParam == DashboardType.search.name
|
||||
Reference in New Issue
Block a user