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/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/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/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_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/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';
|
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/pages/deferred_widget.dart';
|
||||||
import 'package:tmail_ui_user/main/routes/app_routes.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/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 {
|
class AppPages {
|
||||||
static final pages = [
|
static final pages = [
|
||||||
@@ -54,11 +56,13 @@ class AppPages {
|
|||||||
() => mailbox_dashboard.MailboxDashBoardView()),
|
() => mailbox_dashboard.MailboxDashBoardView()),
|
||||||
binding: MailboxDashBoardBindings()),
|
binding: MailboxDashBoardBindings()),
|
||||||
GetPage(
|
GetPage(
|
||||||
name: AppRoutes.dashboardWithParameter,
|
name: AppRoutes.mailtoURL,
|
||||||
page: () => DeferredWidget(
|
page: () => DeferredWidget(
|
||||||
mailbox_dashboard.loadLibrary,
|
mailto_url_view.loadLibrary,
|
||||||
() => mailbox_dashboard.MailboxDashBoardView()),
|
() => mailto_url_view.MailtoUrlView()
|
||||||
binding: MailboxDashBoardBindings()),
|
),
|
||||||
|
binding: MailtoUrlBindings()
|
||||||
|
),
|
||||||
GetPage(
|
GetPage(
|
||||||
name: AppRoutes.settings,
|
name: AppRoutes.settings,
|
||||||
page: () => DeferredWidget(
|
page: () => DeferredWidget(
|
||||||
|
|||||||
@@ -2,8 +2,7 @@ abstract class AppRoutes {
|
|||||||
static const home = '/';
|
static const home = '/';
|
||||||
static const login = '/login';
|
static const login = '/login';
|
||||||
static const session = '/session';
|
static const session = '/session';
|
||||||
static const dashboard = '/dashboard/';
|
static const dashboard = '/dashboard';
|
||||||
static const dashboardWithParameter = '/dashboard/:id';
|
|
||||||
static const settings = '/settings';
|
static const settings = '/settings';
|
||||||
static const composer = '/composer';
|
static const composer = '/composer';
|
||||||
static const destinationPicker = '/destination_picker';
|
static const destinationPicker = '/destination_picker';
|
||||||
@@ -14,4 +13,5 @@ abstract class AppRoutes {
|
|||||||
static const emailsForwardCreator = '/emails_forward_creator';
|
static const emailsForwardCreator = '/emails_forward_creator';
|
||||||
static const unknownRoutePage = '/notfound';
|
static const unknownRoutePage = '/notfound';
|
||||||
static const searchMailbox = '/search_mailbox';
|
static const searchMailbox = '/search_mailbox';
|
||||||
|
static const mailtoURL = '/mailto';
|
||||||
}
|
}
|
||||||
@@ -14,14 +14,27 @@ class NavigationRouter with EquatableMixin {
|
|||||||
final MailboxId? mailboxId;
|
final MailboxId? mailboxId;
|
||||||
final DashboardType dashboardType;
|
final DashboardType dashboardType;
|
||||||
final SearchQuery? searchQuery;
|
final SearchQuery? searchQuery;
|
||||||
|
final String? routeName;
|
||||||
|
final String? emailAddress;
|
||||||
|
|
||||||
NavigationRouter({
|
NavigationRouter({
|
||||||
this.emailId,
|
this.emailId,
|
||||||
this.mailboxId,
|
this.mailboxId,
|
||||||
this.searchQuery,
|
this.searchQuery,
|
||||||
this.dashboardType = DashboardType.normal
|
this.dashboardType = DashboardType.normal,
|
||||||
|
this.routeName,
|
||||||
|
this.emailAddress,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
factory NavigationRouter.initial() => NavigationRouter();
|
||||||
|
|
||||||
@override
|
@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 typeParam = parameters['type'];
|
||||||
final contextPram = parameters['context'];
|
final contextPram = parameters['context'];
|
||||||
final queryParam = parameters['q'];
|
final queryParam = parameters['q'];
|
||||||
|
final routeName = parameters['routeName'];
|
||||||
|
final emailAddress = parameters['emailAddress'];
|
||||||
|
|
||||||
final emailId = idParam != null ? EmailId(Id(idParam)) : null;
|
final emailId = idParam != null ? EmailId(Id(idParam)) : null;
|
||||||
final mailboxId = contextPram != null ? MailboxId(Id(contextPram)) : null;
|
final mailboxId = contextPram != null ? MailboxId(Id(contextPram)) : null;
|
||||||
@@ -71,6 +73,8 @@ abstract class RouteUtils {
|
|||||||
mailboxId: mailboxId,
|
mailboxId: mailboxId,
|
||||||
searchQuery: searchQuery,
|
searchQuery: searchQuery,
|
||||||
dashboardType: dashboardType,
|
dashboardType: dashboardType,
|
||||||
|
routeName: routeName,
|
||||||
|
emailAddress: emailAddress,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user