diff --git a/lib/features/email/domain/state/get_email_content_state.dart b/lib/features/email/domain/state/get_email_content_state.dart index 5440694e7..d35671ff6 100644 --- a/lib/features/email/domain/state/get_email_content_state.dart +++ b/lib/features/email/domain/state/get_email_content_state.dart @@ -2,13 +2,7 @@ import 'package:core/core.dart'; import 'package:jmap_dart_client/jmap/mail/email/email.dart'; import 'package:model/model.dart'; -class GetEmailContentLoading extends UIState { - - GetEmailContentLoading(); - - @override - List get props => []; -} +class GetEmailContentLoading extends LoadingState {} class GetEmailContentSuccess extends UIState { final List emailContents; diff --git a/lib/features/email/presentation/email_controller.dart b/lib/features/email/presentation/email_controller.dart index 7e6c271e9..b3931b491 100644 --- a/lib/features/email/presentation/email_controller.dart +++ b/lib/features/email/presentation/email_controller.dart @@ -142,7 +142,8 @@ class EmailController extends BaseController with AppLoaderMixin { } void _initWorker() { - emailWorker = ever( mailboxDashBoardController.selectedEmail, (presentationEmail) { + emailWorker = ever(mailboxDashBoardController.selectedEmail, (presentationEmail) { + log('EmailController::_initWorker(): $presentationEmail'); if (presentationEmail is PresentationEmail) { if (_currentEmailId != presentationEmail.id) { _currentEmailId = presentationEmail.id; @@ -927,6 +928,7 @@ class EmailController extends BaseController with AppLoaderMixin { void closeEmailView(BuildContext context) { mailboxDashBoardController.clearSelectedEmail(); _currentEmailId = null; + _resetToOriginalValue(); if (mailboxDashBoardController.searchController.isSearchEmailRunning) { if (responsiveUtils.isWebDesktop(context)) { mailboxDashBoardController.dispatchRoute(DashboardRoutes.thread); diff --git a/lib/features/email/presentation/email_view.dart b/lib/features/email/presentation/email_view.dart index af59d6e2f..2ea3a3f5c 100644 --- a/lib/features/email/presentation/email_view.dart +++ b/lib/features/email/presentation/email_view.dart @@ -7,7 +7,6 @@ import 'package:get/get.dart'; import 'package:jmap_dart_client/jmap/mail/email/email_address.dart'; import 'package:model/model.dart'; import 'package:tmail_ui_user/features/composer/presentation/extensions/prefix_email_address_extension.dart'; -import 'package:tmail_ui_user/features/email/domain/state/get_email_content_state.dart'; import 'package:tmail_ui_user/features/email/presentation/email_controller.dart'; import 'package:tmail_ui_user/features/email/presentation/widgets/app_bar_mail_widget_builder.dart'; import 'package:tmail_ui_user/features/email/presentation/widgets/attachment_file_tile_builder.dart'; @@ -55,6 +54,7 @@ class EmailView extends GetWidget { : const BoxDecoration(color: Colors.white), margin: _getMarginEmailView(context), child: Obx(() { + log('EmailView::_buildLoadingView(): ${controller.currentEmail}'); if (controller.currentEmail != null) { return _buildEmailView(context, controller.currentEmail!); } else { @@ -286,24 +286,21 @@ class EmailView extends GetWidget { Widget _buildLoadingView() { return Obx(() { - if (controller.emailContents.isEmpty) { - return controller.viewState.value.fold( - (failure) => const SizedBox.shrink(), - (success) { - if (success is GetEmailContentLoading) { - return const Align(alignment: Alignment.topCenter, child: Padding( - padding: EdgeInsets.all(16), - child: SizedBox( - width: 30, - height: 30, - child: CupertinoActivityIndicator(color: AppColor.colorLoading)))); - } else { - return const SizedBox.shrink(); - } - }); - } else { - return const SizedBox.shrink(); - } + return controller.viewState.value.fold( + (failure) => const SizedBox.shrink(), + (success) { + log('EmailView::_buildLoadingView(): $success'); + if (success is LoadingState) { + return const Align(alignment: Alignment.topCenter, child: Padding( + padding: EdgeInsets.all(16), + child: SizedBox( + width: 30, + height: 30, + child: CupertinoActivityIndicator(color: AppColor.colorLoading)))); + } else { + return const SizedBox.shrink(); + } + }); }); } diff --git a/lib/features/manage_account/domain/state/get_all_identities_state.dart b/lib/features/manage_account/domain/state/get_all_identities_state.dart index b89aac207..205fba488 100644 --- a/lib/features/manage_account/domain/state/get_all_identities_state.dart +++ b/lib/features/manage_account/domain/state/get_all_identities_state.dart @@ -2,7 +2,7 @@ import 'package:core/core.dart'; import 'package:jmap_dart_client/jmap/core/state.dart'; import 'package:jmap_dart_client/jmap/identities/identity.dart'; -class GetAllIdentitiesLoading extends UIState {} +class GetAllIdentitiesLoading extends LoadingState {} class GetAllIdentitiesSuccess extends UIState { final List? identities;