TF-4141 Remove counter of action required folder
This commit is contained in:
+2
-1
@@ -15,7 +15,8 @@ extension HandleOpenContextMenuFilterEmailActionExtension on ThreadController {
|
||||
) {
|
||||
final popupMenuItems = [
|
||||
FilterMessageOption.attachments,
|
||||
FilterMessageOption.unread,
|
||||
if (selectedMailbox?.isActionRequired != true)
|
||||
FilterMessageOption.unread,
|
||||
if (selectedMailbox?.isFavorite != true)
|
||||
FilterMessageOption.starred,
|
||||
].map((filterOption) {
|
||||
|
||||
+4
-2
@@ -1,9 +1,11 @@
|
||||
|
||||
import 'package:core/utils/app_logger.dart';
|
||||
import 'package:dartz/dartz.dart';
|
||||
import 'package:model/extensions/presentation_mailbox_extension.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/utils/email_utils.dart';
|
||||
import 'package:tmail_ui_user/features/home/data/exceptions/session_exceptions.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/search/email_sort_order_type.dart';
|
||||
import 'package:tmail_ui_user/features/thread/domain/constants/thread_constants.dart';
|
||||
import 'package:tmail_ui_user/features/thread/domain/state/clean_and_get_all_email_state.dart';
|
||||
import 'package:tmail_ui_user/features/thread/domain/state/get_all_email_state.dart';
|
||||
import 'package:tmail_ui_user/features/thread/presentation/model/loading_more_status.dart';
|
||||
@@ -38,7 +40,7 @@ extension HandlePullToRefreshListEmailExtension on ThreadController {
|
||||
consumeState(cleanAndGetEmailsInMailboxInteractor.execute(
|
||||
session,
|
||||
accountId,
|
||||
limit: limitEmailFetchedInFolder,
|
||||
limit: ThreadConstants.defaultLimit,
|
||||
sort: EmailSortOrderType.mostRecent.getSortOrder().toNullable(),
|
||||
emailFilter: getEmailFilterForLoadMailbox(),
|
||||
propertiesCreated: EmailUtils.getPropertiesForEmailGetMethod(session, accountId),
|
||||
@@ -47,7 +49,7 @@ extension HandlePullToRefreshListEmailExtension on ThreadController {
|
||||
accountId,
|
||||
),
|
||||
getLatestChanges: true,
|
||||
useCache: !shouldBypassCache,
|
||||
useCache: selectedMailbox?.isVirtualFolder != true,
|
||||
));
|
||||
}
|
||||
}
|
||||
@@ -33,7 +33,6 @@ import 'package:tmail_ui_user/features/home/data/exceptions/session_exceptions.d
|
||||
import 'package:tmail_ui_user/features/mailbox/domain/state/mark_as_mailbox_read_state.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/action/dashboard_action.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/search_controller.dart' as search;
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/extensions/handle_ai_action_extension.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/extensions/move_emails_to_mailbox_extension.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/extensions/open_and_close_composer_extension.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/extensions/update_current_emails_flags_extension.dart';
|
||||
@@ -506,11 +505,13 @@ class ThreadController extends BaseController with EmailActionController {
|
||||
}
|
||||
|
||||
void _getAllEmailSuccess(GetAllEmailSuccess success) {
|
||||
log('ThreadController::_getAllEmailSuccess: GetAllForMailboxId = ${success.currentMailboxId?.asString} | SELECTED_MAILBOX_ID = ${selectedMailboxId?.asString} | SELECTED_MAILBOX_NAME = ${selectedMailbox?.name?.name}');
|
||||
mailboxDashBoardController.updateRefreshAllEmailState(Right(RefreshAllEmailSuccess()));
|
||||
final currentMailboxId = success.currentMailboxId;
|
||||
final isVirtualFolder = selectedMailbox?.isVirtualFolder == true;
|
||||
|
||||
if (success.currentMailboxId != selectedMailboxId &&
|
||||
selectedMailbox?.isVirtualFolder != true) {
|
||||
log('ThreadController::_getAllEmailSuccess: GetAllForMailboxId = ${success.currentMailboxId?.asString} | SELECTED_MAILBOX_ID = ${selectedMailboxId?.asString} | SELECTED_MAILBOX_NAME = ${selectedMailbox?.name?.name}');
|
||||
if (currentMailboxId != null &&
|
||||
(isVirtualFolder || currentMailboxId != selectedMailboxId)) {
|
||||
return;
|
||||
}
|
||||
mailboxDashBoardController.setCurrentEmailState(success.currentEmailState);
|
||||
@@ -549,9 +550,12 @@ class ThreadController extends BaseController with EmailActionController {
|
||||
}
|
||||
|
||||
void _refreshChangesAllEmailSuccess(RefreshChangesAllEmailSuccess success) {
|
||||
if (success.currentMailboxId != selectedMailboxId &&
|
||||
selectedMailbox?.isVirtualFolder != true) {
|
||||
log('ThreadController::_refreshChangesAllEmailSuccess: RefreshedMailboxId = ${success.currentMailboxId?.asString} | SELECTED_MAILBOX_ID = ${selectedMailboxId?.asString} | SELECTED_MAILBOX_NAME = ${selectedMailbox?.name?.name}');
|
||||
log('ThreadController::_refreshChangesAllEmailSuccess: RefreshedMailboxId = ${success.currentMailboxId?.asString} | SELECTED_MAILBOX_ID = ${selectedMailboxId?.asString} | SELECTED_MAILBOX_NAME = ${selectedMailbox?.name?.name}');
|
||||
final currentMailboxId = success.currentMailboxId;
|
||||
final isVirtualFolder = selectedMailbox?.isVirtualFolder == true;
|
||||
|
||||
if (currentMailboxId != null &&
|
||||
(isVirtualFolder || currentMailboxId != selectedMailboxId)) {
|
||||
return;
|
||||
}
|
||||
mailboxDashBoardController.setCurrentEmailState(success.currentEmailState);
|
||||
@@ -576,14 +580,6 @@ class ThreadController extends BaseController with EmailActionController {
|
||||
}
|
||||
}
|
||||
|
||||
bool get shouldBypassCache =>
|
||||
selectedMailbox?.isVirtualFolder ?? false;
|
||||
|
||||
UnsignedInt? get limitEmailFetchedInFolder =>
|
||||
selectedMailbox?.isActionRequired == true
|
||||
? null
|
||||
: ThreadConstants.defaultLimit;
|
||||
|
||||
void getAllEmailAction({
|
||||
bool getLatestChanges = true,
|
||||
}) {
|
||||
@@ -592,7 +588,7 @@ class ThreadController extends BaseController with EmailActionController {
|
||||
consumeState(_getEmailsInMailboxInteractor.execute(
|
||||
_session!,
|
||||
_accountId!,
|
||||
limit: limitEmailFetchedInFolder,
|
||||
limit: ThreadConstants.defaultLimit,
|
||||
sort: EmailSortOrderType.mostRecent.getSortOrder().toNullable(),
|
||||
emailFilter: getEmailFilterForLoadMailbox(),
|
||||
propertiesCreated: EmailUtils.getPropertiesForEmailGetMethod(_session!, _accountId!),
|
||||
@@ -601,7 +597,7 @@ class ThreadController extends BaseController with EmailActionController {
|
||||
_accountId!,
|
||||
),
|
||||
getLatestChanges: getLatestChanges,
|
||||
useCache: !shouldBypassCache,
|
||||
useCache: selectedMailbox?.isVirtualFolder != true,
|
||||
));
|
||||
} else {
|
||||
consumeState(Stream.value(Left(GetAllEmailFailure(NotFoundSessionException()))));
|
||||
@@ -789,7 +785,6 @@ class ThreadController extends BaseController with EmailActionController {
|
||||
} else {
|
||||
await _refreshChangeListEmail();
|
||||
}
|
||||
mailboxDashBoardController.autoRefreshCountEmailsInActionRequiredFolder();
|
||||
} catch (e, stackTrace) {
|
||||
logWarning('ThreadController::_handleWebSocketMessage:Error processing state: $e');
|
||||
onError(e, stackTrace);
|
||||
@@ -936,13 +931,13 @@ class ThreadController extends BaseController with EmailActionController {
|
||||
GetEmailRequest(
|
||||
_session!,
|
||||
_accountId!,
|
||||
limit: limitEmailFetchedInFolder,
|
||||
limit: ThreadConstants.defaultLimit,
|
||||
sort: EmailSortOrderType.mostRecent.getSortOrder().toNullable(),
|
||||
filterOption: mailboxDashBoardController.filterMessageOption.value,
|
||||
filter: getFilterConditionForLoadMailbox(oldestEmail: oldestEmail),
|
||||
properties: EmailUtils.getPropertiesForEmailGetMethod(_session!, _accountId!),
|
||||
lastEmailId: oldestEmail?.id,
|
||||
useCache: !shouldBypassCache,
|
||||
useCache: selectedMailbox?.isVirtualFolder != true,
|
||||
)
|
||||
));
|
||||
}
|
||||
|
||||
@@ -796,6 +796,7 @@ class ThreadView extends GetWidget<ThreadController>
|
||||
isSearchActive: controller.isSearchActive,
|
||||
isFilterMessageActive: controller.mailboxDashBoardController.filterMessageOption.value != FilterMessageOption.all,
|
||||
isFavoriteFolder: controller.selectedMailbox?.isFavorite == true,
|
||||
isActionRequiredFolder: controller.selectedMailbox?.isActionRequired == true,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -14,6 +14,7 @@ class EmptyEmailsWidget extends StatelessWidget {
|
||||
final bool isFilterMessageActive;
|
||||
final bool isNetworkConnectionAvailable;
|
||||
final bool isFavoriteFolder;
|
||||
final bool isActionRequiredFolder;
|
||||
|
||||
final _responsiveUtils = Get.find<ResponsiveUtils>();
|
||||
final _imagePaths = Get.find<ImagePaths>();
|
||||
@@ -24,6 +25,7 @@ class EmptyEmailsWidget extends StatelessWidget {
|
||||
this.isFilterMessageActive = false,
|
||||
this.isNetworkConnectionAvailable = true,
|
||||
this.isFavoriteFolder = false,
|
||||
this.isActionRequiredFolder = false,
|
||||
}) : super(key: key);
|
||||
|
||||
@override
|
||||
@@ -82,9 +84,9 @@ class EmptyEmailsWidget extends StatelessWidget {
|
||||
if (isFilterMessageActive) return false;
|
||||
|
||||
final showNetwork = isNetworkConnectionAvailable && !isSearchActive;
|
||||
final showFavorite = isFavoriteFolder;
|
||||
final isVirtualFolder = isFavoriteFolder || isActionRequiredFolder;
|
||||
|
||||
return showNetwork || showFavorite;
|
||||
return showNetwork || isVirtualFolder;
|
||||
}
|
||||
|
||||
String _getMessageEmptyEmail(AppLocalizations appLocalizations) {
|
||||
@@ -98,6 +100,8 @@ class EmptyEmailsWidget extends StatelessWidget {
|
||||
return appLocalizations.noEmailMatchYourCurrentFilter;
|
||||
} else if (isFavoriteFolder) {
|
||||
return appLocalizations.youDoNotHaveAnyFavoritesEmails;
|
||||
} else if (isActionRequiredFolder) {
|
||||
return appLocalizations.youDoNotHaveAnyActionRequiredEmails;
|
||||
} else {
|
||||
return appLocalizations.youDoNotHaveAnyEmailInYourCurrentFolder;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user