TF-2134 Add mailto page router
(cherry picked from commit d2d3acf255e5b616d55ae379cf1f79f6cc098639)
This commit is contained in:
@@ -12,6 +12,7 @@ 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/contact/presentation/contact_view.dart' deferred as contact_view;
|
||||
import 'package:tmail_ui_user/features/identity_creator/presentation/identity_creator_bindings.dart';
|
||||
import 'package:tmail_ui_user/features/mailto/presentation/mailto_url_bindings.dart';
|
||||
import 'package:tmail_ui_user/features/rules_filter_creator/presentation/rules_filter_creator_bindings.dart';
|
||||
import 'package:tmail_ui_user/features/rules_filter_creator/presentation/rules_filter_creator_view.dart' deferred as rules_filter_creator;
|
||||
import 'package:tmail_ui_user/features/login/presentation/login_bindings.dart';
|
||||
@@ -32,6 +33,7 @@ import 'package:tmail_ui_user/features/unknown_route_page/unknown_route_page_vie
|
||||
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/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;
|
||||
|
||||
class AppPages {
|
||||
static final pages = [
|
||||
@@ -54,11 +56,13 @@ class AppPages {
|
||||
() => mailbox_dashboard.MailboxDashBoardView()),
|
||||
binding: MailboxDashBoardBindings()),
|
||||
GetPage(
|
||||
name: AppRoutes.dashboardWithParameter,
|
||||
name: AppRoutes.mailtoURL,
|
||||
page: () => DeferredWidget(
|
||||
mailbox_dashboard.loadLibrary,
|
||||
() => mailbox_dashboard.MailboxDashBoardView()),
|
||||
binding: MailboxDashBoardBindings()),
|
||||
mailto_url_view.loadLibrary,
|
||||
() => mailto_url_view.MailtoUrlView()
|
||||
),
|
||||
binding: MailtoUrlBindings()
|
||||
),
|
||||
GetPage(
|
||||
name: AppRoutes.settings,
|
||||
page: () => DeferredWidget(
|
||||
|
||||
@@ -2,8 +2,7 @@ abstract class AppRoutes {
|
||||
static const home = '/';
|
||||
static const login = '/login';
|
||||
static const session = '/session';
|
||||
static const dashboard = '/dashboard/';
|
||||
static const dashboardWithParameter = '/dashboard/:id';
|
||||
static const dashboard = '/dashboard';
|
||||
static const settings = '/settings';
|
||||
static const composer = '/composer';
|
||||
static const destinationPicker = '/destination_picker';
|
||||
@@ -14,4 +13,5 @@ abstract class AppRoutes {
|
||||
static const emailsForwardCreator = '/emails_forward_creator';
|
||||
static const unknownRoutePage = '/notfound';
|
||||
static const searchMailbox = '/search_mailbox';
|
||||
static const mailtoURL = '/mailto';
|
||||
}
|
||||
@@ -14,14 +14,27 @@ class NavigationRouter with EquatableMixin {
|
||||
final MailboxId? mailboxId;
|
||||
final DashboardType dashboardType;
|
||||
final SearchQuery? searchQuery;
|
||||
final String? routeName;
|
||||
final String? emailAddress;
|
||||
|
||||
NavigationRouter({
|
||||
this.emailId,
|
||||
this.mailboxId,
|
||||
this.searchQuery,
|
||||
this.dashboardType = DashboardType.normal
|
||||
this.dashboardType = DashboardType.normal,
|
||||
this.routeName,
|
||||
this.emailAddress,
|
||||
});
|
||||
|
||||
factory NavigationRouter.initial() => NavigationRouter();
|
||||
|
||||
@override
|
||||
List<Object?> get props => [emailId, mailboxId, searchQuery, dashboardType];
|
||||
List<Object?> get props => [
|
||||
emailId,
|
||||
mailboxId,
|
||||
searchQuery,
|
||||
dashboardType,
|
||||
routeName,
|
||||
emailAddress,
|
||||
];
|
||||
}
|
||||
@@ -58,6 +58,8 @@ abstract class RouteUtils {
|
||||
final typeParam = parameters['type'];
|
||||
final contextPram = parameters['context'];
|
||||
final queryParam = parameters['q'];
|
||||
final routeName = parameters['routeName'];
|
||||
final emailAddress = parameters['emailAddress'];
|
||||
|
||||
final emailId = idParam != null ? EmailId(Id(idParam)) : null;
|
||||
final mailboxId = contextPram != null ? MailboxId(Id(contextPram)) : null;
|
||||
@@ -71,6 +73,8 @@ abstract class RouteUtils {
|
||||
mailboxId: mailboxId,
|
||||
searchQuery: searchQuery,
|
||||
dashboardType: dashboardType,
|
||||
routeName: routeName,
|
||||
emailAddress: emailAddress,
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user