TF-2134 Add mailto page router

(cherry picked from commit d2d3acf255e5b616d55ae379cf1f79f6cc098639)
This commit is contained in:
dab246
2023-09-12 02:16:36 +07:00
committed by Dat Vu
parent c4b9caab3f
commit b645c6ae1a
4 changed files with 29 additions and 8 deletions
+2 -2
View File
@@ -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';
}
+15 -2
View File
@@ -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,
];
}
+4
View File
@@ -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,
);
}