TF-658 Fix composer disappears when performing actions on browser
This commit is contained in:
@@ -41,7 +41,6 @@ import 'package:tmail_ui_user/features/composer/presentation/model/screen_displa
|
|||||||
import 'package:tmail_ui_user/features/email/domain/state/get_email_content_state.dart';
|
import 'package:tmail_ui_user/features/email/domain/state/get_email_content_state.dart';
|
||||||
import 'package:tmail_ui_user/features/email/domain/usecases/get_email_content_interactor.dart';
|
import 'package:tmail_ui_user/features/email/domain/usecases/get_email_content_interactor.dart';
|
||||||
import 'package:tmail_ui_user/features/email/presentation/model/composer_arguments.dart';
|
import 'package:tmail_ui_user/features/email/presentation/model/composer_arguments.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/action/dashboard_action.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';
|
||||||
import 'package:tmail_ui_user/features/manage_account/domain/state/get_all_identities_state.dart';
|
import 'package:tmail_ui_user/features/manage_account/domain/state/get_all_identities_state.dart';
|
||||||
import 'package:tmail_ui_user/features/manage_account/domain/usecases/get_all_identities_interactor.dart';
|
import 'package:tmail_ui_user/features/manage_account/domain/usecases/get_all_identities_interactor.dart';
|
||||||
@@ -800,7 +799,7 @@ class ComposerController extends BaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (BuildUtils.isWeb) {
|
if (BuildUtils.isWeb) {
|
||||||
mailboxDashBoardController.dispatchAction(CloseComposeEmailAction());
|
mailboxDashBoardController.closeComposerOverlay();
|
||||||
} else {
|
} else {
|
||||||
if (canPop) popBack();
|
if (canPop) popBack();
|
||||||
}
|
}
|
||||||
@@ -851,7 +850,7 @@ class ComposerController extends BaseController {
|
|||||||
|
|
||||||
void closeComposerWeb() {
|
void closeComposerWeb() {
|
||||||
FocusManager.instance.primaryFocus?.unfocus();
|
FocusManager.instance.primaryFocus?.unfocus();
|
||||||
mailboxDashBoardController.dispatchAction(CloseComposeEmailAction());
|
mailboxDashBoardController.closeComposerOverlay();
|
||||||
}
|
}
|
||||||
|
|
||||||
void displayScreenTypeComposerAction(ScreenDisplayMode displayMode) {
|
void displayScreenTypeComposerAction(ScreenDisplayMode displayMode) {
|
||||||
@@ -867,7 +866,7 @@ class ComposerController extends BaseController {
|
|||||||
|
|
||||||
void deleteComposer() {
|
void deleteComposer() {
|
||||||
FocusManager.instance.primaryFocus?.unfocus();
|
FocusManager.instance.primaryFocus?.unfocus();
|
||||||
mailboxDashBoardController.dispatchAction(CloseComposeEmailAction());
|
mailboxDashBoardController.closeComposerOverlay();
|
||||||
}
|
}
|
||||||
|
|
||||||
void toggleDisplayAttachments() {
|
void toggleDisplayAttachments() {
|
||||||
|
|||||||
@@ -40,7 +40,6 @@ import 'package:tmail_ui_user/features/email/presentation/model/composer_argumen
|
|||||||
import 'package:tmail_ui_user/features/email/presentation/widgets/email_address_bottom_sheet_builder.dart';
|
import 'package:tmail_ui_user/features/email/presentation/widgets/email_address_bottom_sheet_builder.dart';
|
||||||
import 'package:tmail_ui_user/features/email/presentation/widgets/email_address_dialog_builder.dart';
|
import 'package:tmail_ui_user/features/email/presentation/widgets/email_address_dialog_builder.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_actions.dart';
|
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_actions.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/action/dashboard_action.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';
|
||||||
import 'package:tmail_ui_user/features/thread/presentation/model/delete_action_type.dart';
|
import 'package:tmail_ui_user/features/thread/presentation/model/delete_action_type.dart';
|
||||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||||
@@ -583,13 +582,8 @@ class EmailController extends BaseController {
|
|||||||
emailActionType: EmailActionType.composeFromEmailAddress,
|
emailActionType: EmailActionType.composeFromEmailAddress,
|
||||||
emailAddress: emailAddress,
|
emailAddress: emailAddress,
|
||||||
mailboxRole: mailboxDashBoardController.selectedMailbox.value?.role);
|
mailboxRole: mailboxDashBoardController.selectedMailbox.value?.role);
|
||||||
if (kIsWeb) {
|
|
||||||
if (mailboxDashBoardController.dashBoardAction.value is! ComposeEmailAction) {
|
mailboxDashBoardController.goToComposer(arguments);
|
||||||
mailboxDashBoardController.dispatchAction(ComposeEmailAction(arguments: arguments));
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
push(AppRoutes.COMPOSER, arguments: arguments);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void openMailToLink(Uri? uri) {
|
void openMailToLink(Uri? uri) {
|
||||||
@@ -602,15 +596,11 @@ class EmailController extends BaseController {
|
|||||||
emailActionType: EmailActionType.composeFromEmailAddress,
|
emailActionType: EmailActionType.composeFromEmailAddress,
|
||||||
emailAddress: emailAddress,
|
emailAddress: emailAddress,
|
||||||
mailboxRole: mailboxDashBoardController.selectedMailbox.value?.role);
|
mailboxRole: mailboxDashBoardController.selectedMailbox.value?.role);
|
||||||
if (kIsWeb) {
|
|
||||||
if (mailboxDashBoardController.dashBoardAction.value is! ComposeEmailAction) {
|
mailboxDashBoardController.goToComposer(arguments);
|
||||||
mailboxDashBoardController.dispatchAction(ComposeEmailAction(arguments: arguments));
|
|
||||||
}
|
if (BuildUtils.isWeb && Get.currentRoute == AppRoutes.EMAIL) {
|
||||||
if (Get.currentRoute == AppRoutes.EMAIL) {
|
popBack();
|
||||||
popBack();
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
push(AppRoutes.COMPOSER, arguments: arguments);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -657,7 +647,10 @@ class EmailController extends BaseController {
|
|||||||
|
|
||||||
void pressEmailAction(EmailActionType emailActionType) {
|
void pressEmailAction(EmailActionType emailActionType) {
|
||||||
if (emailActionType == EmailActionType.compose) {
|
if (emailActionType == EmailActionType.compose) {
|
||||||
composeEmailAction();
|
mailboxDashBoardController.goToComposer(ComposerArguments());
|
||||||
|
if (BuildUtils.isWeb && Get.currentRoute == AppRoutes.EMAIL) {
|
||||||
|
popBack();
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
final arguments = ComposerArguments(
|
final arguments = ComposerArguments(
|
||||||
emailActionType: emailActionType,
|
emailActionType: emailActionType,
|
||||||
@@ -666,29 +659,10 @@ class EmailController extends BaseController {
|
|||||||
attachments: emailActionType == EmailActionType.forward ? attachments : null,
|
attachments: emailActionType == EmailActionType.forward ? attachments : null,
|
||||||
mailboxRole: mailboxDashBoardController.selectedMailbox.value?.role);
|
mailboxRole: mailboxDashBoardController.selectedMailbox.value?.role);
|
||||||
|
|
||||||
if (kIsWeb) {
|
mailboxDashBoardController.goToComposer(arguments);
|
||||||
if (mailboxDashBoardController.dashBoardAction.value is! ComposeEmailAction) {
|
if (BuildUtils.isWeb && Get.currentRoute == AppRoutes.EMAIL) {
|
||||||
mailboxDashBoardController.dispatchAction(ComposeEmailAction(arguments: arguments));
|
|
||||||
}
|
|
||||||
if (Get.currentRoute == AppRoutes.EMAIL) {
|
|
||||||
popBack();
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
push(AppRoutes.COMPOSER, arguments: arguments);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void composeEmailAction() {
|
|
||||||
if (kIsWeb) {
|
|
||||||
if (mailboxDashBoardController.dashBoardAction.value is! ComposeEmailAction) {
|
|
||||||
mailboxDashBoardController.dispatchAction(ComposeEmailAction(arguments: ComposerArguments()));
|
|
||||||
}
|
|
||||||
if (Get.currentRoute == AppRoutes.EMAIL) {
|
|
||||||
popBack();
|
popBack();
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
push(AppRoutes.COMPOSER, arguments: ComposerArguments());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -6,6 +6,7 @@ import 'package:model/model.dart';
|
|||||||
import 'package:package_info_plus/package_info_plus.dart';
|
import 'package:package_info_plus/package_info_plus.dart';
|
||||||
import 'package:tmail_ui_user/features/base/mixin/app_loader_mixin.dart';
|
import 'package:tmail_ui_user/features/base/mixin/app_loader_mixin.dart';
|
||||||
import 'package:tmail_ui_user/features/base/mixin/popup_menu_widget_mixin.dart';
|
import 'package:tmail_ui_user/features/base/mixin/popup_menu_widget_mixin.dart';
|
||||||
|
import 'package:tmail_ui_user/features/email/presentation/model/composer_arguments.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox/presentation/mailbox_controller.dart';
|
import 'package:tmail_ui_user/features/mailbox/presentation/mailbox_controller.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_actions.dart';
|
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_actions.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_categories.dart';
|
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_categories.dart';
|
||||||
@@ -121,7 +122,7 @@ class MailboxView extends GetWidget<MailboxController> with AppLoaderMixin, Popu
|
|||||||
..radiusSplash(10)
|
..radiusSplash(10)
|
||||||
..padding(const EdgeInsets.symmetric(vertical: 8))
|
..padding(const EdgeInsets.symmetric(vertical: 8))
|
||||||
..textStyle(const TextStyle(fontSize: 15, color: Colors.white, fontWeight: FontWeight.w500))
|
..textStyle(const TextStyle(fontSize: 15, color: Colors.white, fontWeight: FontWeight.w500))
|
||||||
..onPressActionClick(() => controller.mailboxDashBoardController.composeEmailAction())
|
..onPressActionClick(() => controller.mailboxDashBoardController.goToComposer(ComposerArguments()))
|
||||||
..text(AppLocalizations.of(context).compose, isVertical: false))
|
..text(AppLocalizations.of(context).compose, isVertical: false))
|
||||||
.build());
|
.build());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ import 'package:model/email/email_action_type.dart';
|
|||||||
import 'package:model/email/presentation_email.dart';
|
import 'package:model/email/presentation_email.dart';
|
||||||
import 'package:tmail_ui_user/features/base/action/ui_action.dart';
|
import 'package:tmail_ui_user/features/base/action/ui_action.dart';
|
||||||
import 'package:tmail_ui_user/features/thread/domain/model/filter_message_option.dart';
|
import 'package:tmail_ui_user/features/thread/domain/model/filter_message_option.dart';
|
||||||
import 'package:tmail_ui_user/main/routes/router_arguments.dart';
|
|
||||||
|
|
||||||
class DashBoardAction extends UIAction {
|
class DashBoardAction extends UIAction {
|
||||||
static final idle = DashBoardAction();
|
static final idle = DashBoardAction();
|
||||||
@@ -15,24 +14,6 @@ class DashBoardAction extends UIAction {
|
|||||||
List<Object?> get props => [];
|
List<Object?> get props => [];
|
||||||
}
|
}
|
||||||
|
|
||||||
class ComposeEmailAction extends DashBoardAction {
|
|
||||||
|
|
||||||
final RouterArguments? arguments;
|
|
||||||
|
|
||||||
ComposeEmailAction({this.arguments});
|
|
||||||
|
|
||||||
@override
|
|
||||||
List<Object?> get props => [arguments];
|
|
||||||
}
|
|
||||||
|
|
||||||
class CloseComposeEmailAction extends DashBoardAction {
|
|
||||||
|
|
||||||
CloseComposeEmailAction();
|
|
||||||
|
|
||||||
@override
|
|
||||||
List<Object?> get props => [];
|
|
||||||
}
|
|
||||||
|
|
||||||
class RefreshAllEmailAction extends DashBoardAction {
|
class RefreshAllEmailAction extends DashBoardAction {
|
||||||
|
|
||||||
RefreshAllEmailAction();
|
RefreshAllEmailAction();
|
||||||
|
|||||||
@@ -48,6 +48,7 @@ import 'package:tmail_ui_user/features/mailbox_dashboard/domain/usecases/quick_s
|
|||||||
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/usecases/remove_email_drafts_interactor.dart';
|
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/usecases/remove_email_drafts_interactor.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/usecases/save_recent_search_interactor.dart';
|
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/usecases/save_recent_search_interactor.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/action/dashboard_action.dart';
|
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/action/dashboard_action.dart';
|
||||||
|
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/composer_overlay_state.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/email_receive_time_type.dart';
|
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/email_receive_time_type.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/quick_search_filter.dart';
|
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/quick_search_filter.dart';
|
||||||
import 'package:tmail_ui_user/features/manage_account/domain/usecases/log_out_oidc_interactor.dart';
|
import 'package:tmail_ui_user/features/manage_account/domain/usecases/log_out_oidc_interactor.dart';
|
||||||
@@ -94,6 +95,7 @@ class MailboxDashBoardController extends ReloadableController {
|
|||||||
final listEmailSelected = <PresentationEmail>[].obs;
|
final listEmailSelected = <PresentationEmail>[].obs;
|
||||||
final listFilterQuickSearch = RxList<QuickSearchFilter>();
|
final listFilterQuickSearch = RxList<QuickSearchFilter>();
|
||||||
final emailReceiveTimeType = Rxn<EmailReceiveTimeType>();
|
final emailReceiveTimeType = Rxn<EmailReceiveTimeType>();
|
||||||
|
final composerOverlayState = ComposerOverlayState.inActive.obs;
|
||||||
|
|
||||||
SearchQuery? searchQuery;
|
SearchQuery? searchQuery;
|
||||||
Session? sessionCurrent;
|
Session? sessionCurrent;
|
||||||
@@ -398,16 +400,21 @@ class MailboxDashBoardController extends ReloadableController {
|
|||||||
|
|
||||||
void dispatchAction(UIAction action) {
|
void dispatchAction(UIAction action) {
|
||||||
log('MailboxDashBoardController::dispatchAction(): ${action.runtimeType}');
|
log('MailboxDashBoardController::dispatchAction(): ${action.runtimeType}');
|
||||||
if (action is ComposeEmailAction) {
|
|
||||||
routerArguments = action.arguments;
|
|
||||||
ComposerBindings().dependencies();
|
|
||||||
} else if (action is CloseComposeEmailAction) {
|
|
||||||
routerArguments = null;
|
|
||||||
Get.delete<ComposerController>();
|
|
||||||
}
|
|
||||||
dashBoardAction.value = action;
|
dashBoardAction.value = action;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void openComposerOverlay(RouterArguments? arguments) {
|
||||||
|
routerArguments = arguments;
|
||||||
|
ComposerBindings().dependencies();
|
||||||
|
composerOverlayState.value = ComposerOverlayState.active;
|
||||||
|
}
|
||||||
|
|
||||||
|
void closeComposerOverlay() {
|
||||||
|
routerArguments = null;
|
||||||
|
Get.delete<ComposerController>();
|
||||||
|
composerOverlayState.value = ComposerOverlayState.inActive;
|
||||||
|
}
|
||||||
|
|
||||||
void dispatchRoute(String route) {
|
void dispatchRoute(String route) {
|
||||||
routePath.value = route;
|
routePath.value = route;
|
||||||
log('MailboxDashBoardController::dispatchRoute(): $route');
|
log('MailboxDashBoardController::dispatchRoute(): $route');
|
||||||
@@ -543,20 +550,10 @@ class MailboxDashBoardController extends ReloadableController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void composeEmailAction() {
|
|
||||||
if (kIsWeb) {
|
|
||||||
if (dashBoardAction.value is! ComposeEmailAction) {
|
|
||||||
dispatchAction(ComposeEmailAction(arguments: ComposerArguments()));
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
push(AppRoutes.COMPOSER, arguments: ComposerArguments());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void goToComposer(ComposerArguments arguments) {
|
void goToComposer(ComposerArguments arguments) {
|
||||||
if (kIsWeb) {
|
if (BuildUtils.isWeb) {
|
||||||
if (dashBoardAction.value is! ComposeEmailAction) {
|
if (composerOverlayState.value == ComposerOverlayState.inActive) {
|
||||||
dispatchAction(ComposeEmailAction(arguments: arguments));
|
openComposerOverlay(arguments);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
push(AppRoutes.COMPOSER, arguments: arguments);
|
push(AppRoutes.COMPOSER, arguments: arguments);
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ import 'package:tmail_ui_user/features/base/mixin/network_connection_mixin.dart'
|
|||||||
import 'package:tmail_ui_user/features/composer/presentation/composer_view.dart';
|
import 'package:tmail_ui_user/features/composer/presentation/composer_view.dart';
|
||||||
import 'package:tmail_ui_user/features/email/presentation/email_view.dart';
|
import 'package:tmail_ui_user/features/email/presentation/email_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/action/dashboard_action.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';
|
||||||
|
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/composer_overlay_state.dart';
|
||||||
import 'package:tmail_ui_user/features/manage_account/presentation/model/app_setting.dart';
|
import 'package:tmail_ui_user/features/manage_account/presentation/model/app_setting.dart';
|
||||||
import 'package:tmail_ui_user/features/manage_account/presentation/model/reading_pane.dart';
|
import 'package:tmail_ui_user/features/manage_account/presentation/model/reading_pane.dart';
|
||||||
import 'package:tmail_ui_user/features/thread/presentation/thread_view.dart';
|
import 'package:tmail_ui_user/features/thread/presentation/thread_view.dart';
|
||||||
@@ -42,7 +42,7 @@ class MailboxDashBoardView extends GetWidget<MailboxDashBoardController> with Ne
|
|||||||
landscapeMobile: ThreadView(),
|
landscapeMobile: ThreadView(),
|
||||||
mobile: ThreadView(),
|
mobile: ThreadView(),
|
||||||
),
|
),
|
||||||
Obx(() => controller.dashBoardAction.value is ComposeEmailAction
|
Obx(() => controller.composerOverlayState.value == ComposerOverlayState.active
|
||||||
? ComposerView()
|
? ComposerView()
|
||||||
: const SizedBox.shrink()),
|
: const SizedBox.shrink()),
|
||||||
Obx(() => controller.isNetworkConnectionAvailable()
|
Obx(() => controller.isNetworkConnectionAvailable()
|
||||||
@@ -90,7 +90,7 @@ class MailboxDashBoardView extends GetWidget<MailboxDashBoardController> with Ne
|
|||||||
|
|
||||||
Widget _buildLargeScreenView(BuildContext context) {
|
Widget _buildLargeScreenView(BuildContext context) {
|
||||||
if (controller.isDrawerOpen && (_responsiveUtils.isDesktop(context) || _responsiveUtils.isTabletLarge(context))) {
|
if (controller.isDrawerOpen && (_responsiveUtils.isDesktop(context) || _responsiveUtils.isTabletLarge(context))) {
|
||||||
WidgetsBinding.instance?.addPostFrameCallback((_) {
|
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||||
controller.closeMailboxMenuDrawer();
|
controller.closeMailboxMenuDrawer();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import 'package:tmail_ui_user/features/mailbox/presentation/mailbox_view_web.dar
|
|||||||
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/model/recent_search.dart';
|
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/model/recent_search.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/action/dashboard_action.dart';
|
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/action/dashboard_action.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/base_mailbox_dashboard_view.dart';
|
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/base_mailbox_dashboard_view.dart';
|
||||||
|
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/composer_overlay_state.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/quick_search_filter.dart';
|
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/quick_search_filter.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/widgets/email_quick_search_item_tile_widget.dart';
|
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/widgets/email_quick_search_item_tile_widget.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/widgets/recent_search_item_tile_widget.dart';
|
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/widgets/recent_search_item_tile_widget.dart';
|
||||||
@@ -97,7 +98,7 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView {
|
|||||||
tablet: ThreadView(),
|
tablet: ThreadView(),
|
||||||
mobile: ThreadView(),
|
mobile: ThreadView(),
|
||||||
),
|
),
|
||||||
Obx(() => controller.dashBoardAction.value is ComposeEmailAction
|
Obx(() => controller.composerOverlayState.value == ComposerOverlayState.active
|
||||||
? ComposerView()
|
? ComposerView()
|
||||||
: const SizedBox.shrink()),
|
: const SizedBox.shrink()),
|
||||||
Obx(() => controller.isNetworkConnectionAvailable()
|
Obx(() => controller.isNetworkConnectionAvailable()
|
||||||
|
|||||||
@@ -0,0 +1,4 @@
|
|||||||
|
|
||||||
|
enum ComposerOverlayState {
|
||||||
|
active, inActive
|
||||||
|
}
|
||||||
@@ -1275,14 +1275,6 @@ class ThreadController extends BaseController {
|
|||||||
presentationEmail: presentationEmail,
|
presentationEmail: presentationEmail,
|
||||||
mailboxRole: mailboxDashBoardController.selectedMailbox.value?.role);
|
mailboxRole: mailboxDashBoardController.selectedMailbox.value?.role);
|
||||||
|
|
||||||
if (kIsWeb) {
|
mailboxDashBoardController.goToComposer(arguments);
|
||||||
mailboxDashBoardController.dispatchAction(ComposeEmailAction(arguments: arguments));
|
|
||||||
} else {
|
|
||||||
push(AppRoutes.COMPOSER, arguments: arguments);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void composeEmailAction() {
|
|
||||||
mailboxDashBoardController.composeEmailAction();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -4,6 +4,7 @@ import 'package:flutter_svg/flutter_svg.dart';
|
|||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:model/model.dart';
|
import 'package:model/model.dart';
|
||||||
import 'package:tmail_ui_user/features/base/mixin/app_loader_mixin.dart';
|
import 'package:tmail_ui_user/features/base/mixin/app_loader_mixin.dart';
|
||||||
|
import 'package:tmail_ui_user/features/email/presentation/model/composer_arguments.dart';
|
||||||
import 'package:tmail_ui_user/features/email/presentation/widgets/email_action_cupertino_action_sheet_action_builder.dart';
|
import 'package:tmail_ui_user/features/email/presentation/widgets/email_action_cupertino_action_sheet_action_builder.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/model/recent_search.dart';
|
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/model/recent_search.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/mixin/filter_email_popup_menu_mixin.dart';
|
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/mixin/filter_email_popup_menu_mixin.dart';
|
||||||
@@ -379,7 +380,7 @@ class ThreadView extends GetWidget<ThreadController> with AppLoaderMixin,
|
|||||||
text: Padding(padding: const EdgeInsets.only(right: 10),
|
text: Padding(padding: const EdgeInsets.only(right: 10),
|
||||||
child: Text(AppLocalizations.of(context).compose,
|
child: Text(AppLocalizations.of(context).compose,
|
||||||
style: const TextStyle(color: AppColor.colorTextButton, fontSize: 15.0, fontWeight: FontWeight.w500))),
|
style: const TextStyle(color: AppColor.colorTextButton, fontSize: 15.0, fontWeight: FontWeight.w500))),
|
||||||
onPress: () => controller.composeEmailAction(),
|
onPress: () => controller.mailboxDashBoardController.goToComposer(ComposerArguments()),
|
||||||
scrollController: controller.listEmailController,
|
scrollController: controller.listEmailController,
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
elevation: 4.0,
|
elevation: 4.0,
|
||||||
|
|||||||
Reference in New Issue
Block a user