Add presentation layer for get Session
This commit is contained in:
@@ -34,6 +34,6 @@ class HomeController extends GetxController {
|
|||||||
credentialViewState.userName.userName,
|
credentialViewState.userName.userName,
|
||||||
credentialViewState.password.value,
|
credentialViewState.password.value,
|
||||||
);
|
);
|
||||||
Get.offNamed(AppRoutes.MAILBOX_DASHBOARD);
|
Get.offNamed(AppRoutes.SESSION);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
import 'package:core/core.dart';
|
import 'package:core/core.dart';
|
||||||
import 'package:model/model.dart';
|
import 'package:model/model.dart';
|
||||||
|
|
||||||
class AuthenticationUserViewState extends ViewState {
|
class AuthenticationUserViewState extends UIState {
|
||||||
final User user;
|
final User user;
|
||||||
|
|
||||||
AuthenticationUserViewState(this.user);
|
AuthenticationUserViewState(this.user);
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
import 'package:core/core.dart';
|
||||||
|
import 'package:core/presentation/state/failure.dart';
|
||||||
|
|
||||||
|
class DeleteCredentialSuccess extends UIState {
|
||||||
|
DeleteCredentialSuccess();
|
||||||
|
|
||||||
|
@override
|
||||||
|
List<Object> get props => [];
|
||||||
|
}
|
||||||
|
|
||||||
|
class DeleteCredentialFailure extends FeatureFailure {
|
||||||
|
final exception;
|
||||||
|
|
||||||
|
DeleteCredentialFailure(this.exception);
|
||||||
|
|
||||||
|
@override
|
||||||
|
List<Object> get props => [exception];
|
||||||
|
}
|
||||||
@@ -3,7 +3,7 @@ import 'package:core/presentation/state/failure.dart';
|
|||||||
import 'package:model/account/password.dart';
|
import 'package:model/account/password.dart';
|
||||||
import 'package:model/account/user_name.dart';
|
import 'package:model/account/user_name.dart';
|
||||||
|
|
||||||
class GetCredentialViewState extends ViewState {
|
class GetCredentialViewState extends UIState {
|
||||||
final Uri baseUrl;
|
final Uri baseUrl;
|
||||||
final UserName userName;
|
final UserName userName;
|
||||||
final Password password;
|
final Password password;
|
||||||
|
|||||||
@@ -0,0 +1,25 @@
|
|||||||
|
import 'dart:core';
|
||||||
|
|
||||||
|
import 'package:core/core.dart';
|
||||||
|
import 'package:dartz/dartz.dart';
|
||||||
|
import 'package:tmail_ui_user/features/login/domain/repository/credential_repository.dart';
|
||||||
|
import 'package:tmail_ui_user/features/login/domain/state/delete_credential_state.dart';
|
||||||
|
|
||||||
|
class DeleteCredentialInteractor {
|
||||||
|
final CredentialRepository credentialRepository;
|
||||||
|
|
||||||
|
DeleteCredentialInteractor(this.credentialRepository);
|
||||||
|
|
||||||
|
Future<Either<Failure, Success>> execute() async {
|
||||||
|
try {
|
||||||
|
await Future.wait([
|
||||||
|
credentialRepository.removeBaseUrl(),
|
||||||
|
credentialRepository.removeUserName(),
|
||||||
|
credentialRepository.removePassword()
|
||||||
|
]);
|
||||||
|
return Right(DeleteCredentialSuccess());
|
||||||
|
} catch (exception) {
|
||||||
|
return Left(DeleteCredentialFailure(exception));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -60,7 +60,7 @@ class LoginController extends GetxController {
|
|||||||
loginState.value = LoginState(Right(success));
|
loginState.value = LoginState(Right(success));
|
||||||
_dynamicUrlInterceptors.changeBaseUrl(_urlText);
|
_dynamicUrlInterceptors.changeBaseUrl(_urlText);
|
||||||
_authorizationInterceptors.changeAuthorization(_userNameText, _passwordText);
|
_authorizationInterceptors.changeAuthorization(_userNameText, _passwordText);
|
||||||
Get.offNamed(AppRoutes.MAILBOX_DASHBOARD);
|
Get.offNamed(AppRoutes.SESSION);
|
||||||
}
|
}
|
||||||
|
|
||||||
void _loginFailureAction(AuthenticationUserFailure failure) {
|
void _loginFailureAction(AuthenticationUserFailure failure) {
|
||||||
|
|||||||
@@ -1,5 +1,9 @@
|
|||||||
import 'package:core/core.dart';
|
import 'package:core/core.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
import 'package:shared_preferences/shared_preferences.dart';
|
||||||
|
import 'package:tmail_ui_user/features/login/data/repository/credential_repository_impl.dart';
|
||||||
|
import 'package:tmail_ui_user/features/login/domain/repository/credential_repository.dart';
|
||||||
|
import 'package:tmail_ui_user/features/login/domain/usecases/delete_credential_interactor.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox/data/datasource/mailbox_datasource.dart';
|
import 'package:tmail_ui_user/features/mailbox/data/datasource/mailbox_datasource.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox/data/datasource_impl/mailbox_datasource_impl.dart';
|
import 'package:tmail_ui_user/features/mailbox/data/datasource_impl/mailbox_datasource_impl.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox/data/network/mailbox_api.dart';
|
import 'package:tmail_ui_user/features/mailbox/data/network/mailbox_api.dart';
|
||||||
@@ -12,6 +16,9 @@ import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_tree_b
|
|||||||
class MailboxBindings extends Bindings {
|
class MailboxBindings extends Bindings {
|
||||||
@override
|
@override
|
||||||
void dependencies() {
|
void dependencies() {
|
||||||
|
Get.lazyPut(() => CredentialRepositoryImpl(Get.find<SharedPreferences>()));
|
||||||
|
Get.lazyPut<CredentialRepository>(() => Get.find<CredentialRepositoryImpl>());
|
||||||
|
Get.lazyPut(() => DeleteCredentialInteractor(Get.find<CredentialRepository>()));
|
||||||
Get.lazyPut(() => MailboxDataSourceImpl(Get.find<MailboxAPI>()));
|
Get.lazyPut(() => MailboxDataSourceImpl(Get.find<MailboxAPI>()));
|
||||||
Get.lazyPut<MailboxDataSource>(() => Get.find<MailboxDataSourceImpl>());
|
Get.lazyPut<MailboxDataSource>(() => Get.find<MailboxDataSourceImpl>());
|
||||||
Get.lazyPut(() => MailboxRepositoryImpl(Get.find<MailboxDataSource>()));
|
Get.lazyPut(() => MailboxRepositoryImpl(Get.find<MailboxDataSource>()));
|
||||||
@@ -20,6 +27,7 @@ class MailboxBindings extends Bindings {
|
|||||||
Get.lazyPut(() => TreeBuilder());
|
Get.lazyPut(() => TreeBuilder());
|
||||||
Get.lazyPut(() => MailboxController(
|
Get.lazyPut(() => MailboxController(
|
||||||
Get.find<GetAllMailboxInteractor>(),
|
Get.find<GetAllMailboxInteractor>(),
|
||||||
|
Get.find<DeleteCredentialInteractor>(),
|
||||||
Get.find<TreeBuilder>(),
|
Get.find<TreeBuilder>(),
|
||||||
Get.find<ResponsiveUtils>()));
|
Get.find<ResponsiveUtils>()));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,12 +6,12 @@ import 'package:flutter/cupertino.dart';
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:jmap_dart_client/jmap/account_id.dart';
|
import 'package:jmap_dart_client/jmap/account_id.dart';
|
||||||
import 'package:jmap_dart_client/jmap/core/id.dart';
|
|
||||||
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
|
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
|
||||||
import 'package:model/mailbox/presentation_mailbox.dart';
|
import 'package:model/mailbox/presentation_mailbox.dart';
|
||||||
import 'package:model/mailbox/select_mode.dart';
|
import 'package:model/mailbox/select_mode.dart';
|
||||||
import 'package:tmail_ui_user/features/base/base_controller.dart';
|
import 'package:tmail_ui_user/features/base/base_controller.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox/domain/constants/mailbox_constants.dart';
|
import 'package:tmail_ui_user/features/mailbox/domain/constants/mailbox_constants.dart';
|
||||||
|
import 'package:tmail_ui_user/features/login/domain/usecases/delete_credential_interactor.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox/domain/state/get_all_mailboxes_state.dart';
|
import 'package:tmail_ui_user/features/mailbox/domain/state/get_all_mailboxes_state.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox/domain/usecases/get_all_mailbox_interactor.dart';
|
import 'package:tmail_ui_user/features/mailbox/domain/usecases/get_all_mailbox_interactor.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_node.dart';
|
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_node.dart';
|
||||||
@@ -23,12 +23,13 @@ import 'package:tmail_ui_user/main/routes/app_routes.dart';
|
|||||||
class MailboxController extends BaseController {
|
class MailboxController extends BaseController {
|
||||||
|
|
||||||
final GetAllMailboxInteractor _getAllMailboxInteractor;
|
final GetAllMailboxInteractor _getAllMailboxInteractor;
|
||||||
|
final DeleteCredentialInteractor _deleteCredentialInteractor;
|
||||||
final TreeBuilder _treeBuilder;
|
final TreeBuilder _treeBuilder;
|
||||||
final ResponsiveUtils responsiveUtils;
|
final ResponsiveUtils responsiveUtils;
|
||||||
|
|
||||||
final mailboxDashBoardController = Get.find<MailboxDashBoardController>();
|
final mailboxDashBoardController = Get.find<MailboxDashBoardController>();
|
||||||
|
|
||||||
MailboxController(this._getAllMailboxInteractor, this._treeBuilder, this.responsiveUtils);
|
MailboxController(this._getAllMailboxInteractor, this._deleteCredentialInteractor, this._treeBuilder, this.responsiveUtils);
|
||||||
|
|
||||||
final folderMailboxTree = MailboxTree(MailboxNode.root()).obs;
|
final folderMailboxTree = MailboxTree(MailboxNode.root()).obs;
|
||||||
final selectedMailbox = PresentationMailbox.createMailboxEmpty().obs;
|
final selectedMailbox = PresentationMailbox.createMailboxEmpty().obs;
|
||||||
@@ -36,11 +37,13 @@ class MailboxController extends BaseController {
|
|||||||
@override
|
@override
|
||||||
void onReady() {
|
void onReady() {
|
||||||
super.onReady();
|
super.onReady();
|
||||||
getAllMailboxAction();
|
if (mailboxDashBoardController.sessionCurrent != null) {
|
||||||
|
getAllMailboxAction(
|
||||||
|
mailboxDashBoardController.sessionCurrent!.accounts.keys.first);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void getAllMailboxAction() async {
|
void getAllMailboxAction(AccountId accountId) async {
|
||||||
final AccountId accountId = AccountId(Id('3ce33c876a726662c627746eb9537a1d13c2338193ef27bd051a3ce5c0fe5b12'));
|
|
||||||
consumeState(_getAllMailboxInteractor.execute(accountId));
|
consumeState(_getAllMailboxInteractor.execute(accountId));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -101,7 +104,12 @@ class MailboxController extends BaseController {
|
|||||||
keyWidgetMailboxDashBoard.currentState?.openEndDrawer();
|
keyWidgetMailboxDashBoard.currentState?.openEndDrawer();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void _deleteCredential() async {
|
||||||
|
await _deleteCredentialInteractor.execute();
|
||||||
|
}
|
||||||
|
|
||||||
void closeMailboxScreen() {
|
void closeMailboxScreen() {
|
||||||
|
_deleteCredential();
|
||||||
Get.offAllNamed(AppRoutes.LOGIN);
|
Get.offAllNamed(AppRoutes.LOGIN);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -39,7 +39,9 @@ class MailboxView extends GetWidget<MailboxController> {
|
|||||||
left: false,
|
left: false,
|
||||||
child: RefreshIndicator(
|
child: RefreshIndicator(
|
||||||
color: AppColor.primaryColor,
|
color: AppColor.primaryColor,
|
||||||
onRefresh: () async => controller.getAllMailboxAction(),
|
onRefresh: () async => mailboxDashBoardController.sessionCurrent != null
|
||||||
|
? controller.getAllMailboxAction(mailboxDashBoardController.sessionCurrent!.accounts.keys.first)
|
||||||
|
: null,
|
||||||
child: SingleChildScrollView(
|
child: SingleChildScrollView(
|
||||||
physics: AlwaysScrollableScrollPhysics(),
|
physics: AlwaysScrollableScrollPhysics(),
|
||||||
child: Padding(
|
child: Padding(
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/widgets.dart';
|
import 'package:flutter/widgets.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
import 'package:jmap_dart_client/jmap/core/session/session.dart';
|
||||||
import 'package:model/model.dart';
|
import 'package:model/model.dart';
|
||||||
import 'package:tmail_ui_user/features/base/base_controller.dart';
|
import 'package:tmail_ui_user/features/base/base_controller.dart';
|
||||||
|
|
||||||
@@ -9,6 +10,7 @@ class MailboxDashBoardController extends BaseController {
|
|||||||
final scaffoldKey = GlobalKey<ScaffoldState>();
|
final scaffoldKey = GlobalKey<ScaffoldState>();
|
||||||
final mailboxCurrent = PresentationMailbox.createMailboxEmpty().obs;
|
final mailboxCurrent = PresentationMailbox.createMailboxEmpty().obs;
|
||||||
final mailCurrent = PresentationThread.createThreadEmpty().obs;
|
final mailCurrent = PresentationThread.createThreadEmpty().obs;
|
||||||
|
Session? sessionCurrent;
|
||||||
|
|
||||||
MailboxDashBoardController();
|
MailboxDashBoardController();
|
||||||
|
|
||||||
@@ -25,4 +27,8 @@ class MailboxDashBoardController extends BaseController {
|
|||||||
@override
|
@override
|
||||||
void onError(error) {
|
void onError(error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void setSessionCurrent(Session session) {
|
||||||
|
sessionCurrent = session;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
import 'package:core/core.dart';
|
import 'package:core/core.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
import 'package:jmap_dart_client/jmap/core/session/session.dart';
|
||||||
import 'package:tmail_ui_user/features/mail/presentation/mail_view.dart';
|
import 'package:tmail_ui_user/features/mail/presentation/mail_view.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox/presentation/mailbox_view.dart';
|
import 'package:tmail_ui_user/features/mailbox/presentation/mailbox_view.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/mailbox_dashboard_controller.dart';
|
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/mailbox_dashboard_controller.dart';
|
||||||
@@ -12,6 +13,9 @@ class MailboxDashBoardView extends GetWidget<MailboxDashBoardController> {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
final arguments = Get.arguments as Session;
|
||||||
|
controller.setSessionCurrent(arguments);
|
||||||
|
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
key: controller.scaffoldKey,
|
key: controller.scaffoldKey,
|
||||||
drawer: responsiveUtils.isMobile(context)
|
drawer: responsiveUtils.isMobile(context)
|
||||||
|
|||||||
@@ -0,0 +1,27 @@
|
|||||||
|
import 'package:get/get.dart';
|
||||||
|
import 'package:shared_preferences/shared_preferences.dart';
|
||||||
|
import 'package:tmail_ui_user/features/login/data/repository/credential_repository_impl.dart';
|
||||||
|
import 'package:tmail_ui_user/features/login/domain/repository/credential_repository.dart';
|
||||||
|
import 'package:tmail_ui_user/features/login/domain/usecases/delete_credential_interactor.dart';
|
||||||
|
import 'package:tmail_ui_user/features/session/data/datasource/session_datasource.dart';
|
||||||
|
import 'package:tmail_ui_user/features/session/data/datasource_impl/session_datasource_impl.dart';
|
||||||
|
import 'package:tmail_ui_user/features/session/data/network/session_api.dart';
|
||||||
|
import 'package:tmail_ui_user/features/session/data/repository/session_repository_impl.dart';
|
||||||
|
import 'package:tmail_ui_user/features/session/domain/repository/session_repository.dart';
|
||||||
|
import 'package:tmail_ui_user/features/session/domain/usecases/get_session_interactor.dart';
|
||||||
|
import 'package:tmail_ui_user/features/session/presentation/session_controller.dart';
|
||||||
|
|
||||||
|
class SessionBindings extends Bindings {
|
||||||
|
@override
|
||||||
|
void dependencies() {
|
||||||
|
Get.lazyPut(() => SessionDataSourceImpl(Get.find<SessionAPI>()));
|
||||||
|
Get.lazyPut<SessionDataSource>(() => Get.find<SessionDataSourceImpl>());
|
||||||
|
Get.lazyPut(() => SessionRepositoryImpl(Get.find<SessionDataSource>()));
|
||||||
|
Get.lazyPut<SessionRepository>(() => Get.find<SessionRepositoryImpl>());
|
||||||
|
Get.lazyPut(() => GetSessionInteractor(Get.find<SessionRepository>()));
|
||||||
|
Get.lazyPut(() => CredentialRepositoryImpl(Get.find<SharedPreferences>()));
|
||||||
|
Get.lazyPut<CredentialRepository>(() => Get.find<CredentialRepositoryImpl>());
|
||||||
|
Get.lazyPut(() => DeleteCredentialInteractor(Get.find<CredentialRepository>()));
|
||||||
|
Get.lazyPut(() => SessionController(Get.find<GetSessionInteractor>(), Get.find<DeleteCredentialInteractor>()));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
import 'package:get/get.dart';
|
||||||
|
import 'package:tmail_ui_user/features/login/domain/usecases/delete_credential_interactor.dart';
|
||||||
|
import 'package:tmail_ui_user/features/session/domain/state/get_session_state.dart';
|
||||||
|
import 'package:tmail_ui_user/features/session/domain/usecases/get_session_interactor.dart';
|
||||||
|
import 'package:tmail_ui_user/main/routes/app_routes.dart';
|
||||||
|
|
||||||
|
class SessionController extends GetxController {
|
||||||
|
final GetSessionInteractor _getSessionInteractor;
|
||||||
|
final DeleteCredentialInteractor _deleteCredentialInteractor;
|
||||||
|
|
||||||
|
SessionController(this._getSessionInteractor, this._deleteCredentialInteractor);
|
||||||
|
|
||||||
|
@override
|
||||||
|
void onReady() {
|
||||||
|
super.onReady();
|
||||||
|
_getSession();
|
||||||
|
}
|
||||||
|
|
||||||
|
void _getSession() async {
|
||||||
|
await _getSessionInteractor.execute()
|
||||||
|
.then((response) => response.fold(
|
||||||
|
(failure) => _goToLogin(),
|
||||||
|
(success) => success is GetSessionSuccess ? _goToMailboxDashBoard(success) : _goToLogin()));
|
||||||
|
}
|
||||||
|
|
||||||
|
void _deleteCredential() async {
|
||||||
|
await _deleteCredentialInteractor.execute();
|
||||||
|
}
|
||||||
|
|
||||||
|
void _goToLogin() {
|
||||||
|
_deleteCredential();
|
||||||
|
Get.offNamed(AppRoutes.LOGIN);
|
||||||
|
}
|
||||||
|
|
||||||
|
void _goToMailboxDashBoard(GetSessionSuccess getSessionSuccess) {
|
||||||
|
Get.offNamed(AppRoutes.MAILBOX_DASHBOARD, arguments: getSessionSuccess.session);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
import 'package:core/core.dart';
|
||||||
|
import 'package:flutter/cupertino.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:get/get.dart';
|
||||||
|
import 'package:tmail_ui_user/features/session/presentation/session_controller.dart';
|
||||||
|
|
||||||
|
class SessionView extends GetWidget<SessionController> {
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Container(
|
||||||
|
color: AppColor.primaryColor,
|
||||||
|
child: SizedBox(
|
||||||
|
width: 100,
|
||||||
|
height: 100,
|
||||||
|
child: CupertinoActivityIndicator(),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -7,6 +7,7 @@ import 'package:get/get.dart';
|
|||||||
import 'package:jmap_dart_client/http/http_client.dart' as JmapHttpClient;
|
import 'package:jmap_dart_client/http/http_client.dart' as JmapHttpClient;
|
||||||
import 'package:tmail_ui_user/features/login/data/network/login_api.dart';
|
import 'package:tmail_ui_user/features/login/data/network/login_api.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox/data/network/mailbox_api.dart';
|
import 'package:tmail_ui_user/features/mailbox/data/network/mailbox_api.dart';
|
||||||
|
import 'package:tmail_ui_user/features/session/data/network/session_api.dart';
|
||||||
|
|
||||||
class NetworkBindings extends Bindings {
|
class NetworkBindings extends Bindings {
|
||||||
|
|
||||||
@@ -45,5 +46,6 @@ class NetworkBindings extends Bindings {
|
|||||||
Get.put(JmapHttpClient.HttpClient(Get.find<Dio>()));
|
Get.put(JmapHttpClient.HttpClient(Get.find<Dio>()));
|
||||||
Get.put(LoginAPI(Get.find<DioClient>()));
|
Get.put(LoginAPI(Get.find<DioClient>()));
|
||||||
Get.put(MailboxAPI(Get.find<JmapHttpClient.HttpClient>()));
|
Get.put(MailboxAPI(Get.find<JmapHttpClient.HttpClient>()));
|
||||||
|
Get.put(SessionAPI(Get.find<JmapHttpClient.HttpClient>()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -11,6 +11,8 @@ import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/mailbox_da
|
|||||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/mailbox_dashboard_view.dart';
|
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/mailbox_dashboard_view.dart';
|
||||||
import 'package:tmail_ui_user/features/thread/presentation/thread_bindings.dart';
|
import 'package:tmail_ui_user/features/thread/presentation/thread_bindings.dart';
|
||||||
import 'package:tmail_ui_user/features/thread/presentation/thread_view.dart';
|
import 'package:tmail_ui_user/features/thread/presentation/thread_view.dart';
|
||||||
|
import 'package:tmail_ui_user/features/session/presentation/session_bindings.dart';
|
||||||
|
import 'package:tmail_ui_user/features/session/presentation/session_view.dart';
|
||||||
import 'package:tmail_ui_user/main/routes/app_routes.dart';
|
import 'package:tmail_ui_user/main/routes/app_routes.dart';
|
||||||
|
|
||||||
class AppPages {
|
class AppPages {
|
||||||
@@ -23,6 +25,10 @@ class AppPages {
|
|||||||
name: AppRoutes.LOGIN,
|
name: AppRoutes.LOGIN,
|
||||||
page: () => LoginView(),
|
page: () => LoginView(),
|
||||||
binding: LoginBindings()),
|
binding: LoginBindings()),
|
||||||
|
GetPage(
|
||||||
|
name: AppRoutes.SESSION,
|
||||||
|
page: () => SessionView(),
|
||||||
|
binding: SessionBindings()),
|
||||||
GetPage(
|
GetPage(
|
||||||
name: AppRoutes.MAILBOX,
|
name: AppRoutes.MAILBOX,
|
||||||
page: () => MailboxView(),
|
page: () => MailboxView(),
|
||||||
|
|||||||
@@ -5,4 +5,5 @@ abstract class AppRoutes {
|
|||||||
static const MAILBOX_DASHBOARD = '/mailboxDashBoard';
|
static const MAILBOX_DASHBOARD = '/mailboxDashBoard';
|
||||||
static const THREAD = '$MAILBOX_DASHBOARD/thread';
|
static const THREAD = '$MAILBOX_DASHBOARD/thread';
|
||||||
static const MAIL = '$THREAD/mail';
|
static const MAIL = '$THREAD/mail';
|
||||||
|
static const SESSION = '/session';
|
||||||
}
|
}
|
||||||
+2
-2
@@ -37,8 +37,8 @@ dependencies:
|
|||||||
# jmap_dart_client
|
# jmap_dart_client
|
||||||
jmap_dart_client:
|
jmap_dart_client:
|
||||||
git:
|
git:
|
||||||
url: git://github.com/hoangdat/jmap-dart-client.git
|
url: git://github.com/dab246/jmap-dart-client.git
|
||||||
ref: get_session_dat
|
ref: fixbug_get_session
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
flutter_test:
|
flutter_test:
|
||||||
|
|||||||
+2
-2
@@ -77,8 +77,8 @@ dependencies:
|
|||||||
# jmap_dart_client
|
# jmap_dart_client
|
||||||
jmap_dart_client:
|
jmap_dart_client:
|
||||||
git:
|
git:
|
||||||
url: git://github.com/hoangdat/jmap-dart-client.git
|
url: git://github.com/dab246/jmap-dart-client.git
|
||||||
ref: get_session_dat
|
ref: fixbug_get_session
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
flutter_test:
|
flutter_test:
|
||||||
|
|||||||
Reference in New Issue
Block a user