TF-1708 Sync use mailbox display name to show all mailbox name by in toast, dialog, label, path..

(cherry picked from commit 62137b655383199005c31d21fce46906fab451dc)
This commit is contained in:
dab246
2023-07-06 23:32:30 +07:00
committed by Dat Vu
parent 58f90e6819
commit 24d7eee69a
28 changed files with 122 additions and 105 deletions
@@ -14,6 +14,7 @@ import 'package:tmail_ui_user/features/composer/domain/state/get_autocomplete_st
import 'package:tmail_ui_user/features/composer/domain/usecases/get_autocomplete_interactor.dart';
import 'package:tmail_ui_user/features/composer/domain/usecases/get_autocomplete_with_device_contact_interactor.dart';
import 'package:tmail_ui_user/features/destination_picker/presentation/model/destination_picker_arguments.dart';
import 'package:tmail_ui_user/features/mailbox/presentation/extensions/presentation_mailbox_extension.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/controller/input_field_focus_manager.dart';
@@ -143,7 +144,12 @@ class AdvancedFilterController extends BaseController {
if (destinationMailbox is PresentationMailbox) {
_destinationMailboxSelected = destinationMailbox;
final mailboxName = destinationMailbox.name?.name;
String? mailboxName;
if (context.mounted) {
mailboxName = _destinationMailboxSelected?.getDisplayName(context);
} else {
mailboxName = _destinationMailboxSelected?.name?.name;
}
mailBoxFilterInputController.text = StringConvert.writeNullToEmpty(mailboxName);
}
}
@@ -246,7 +252,7 @@ class AdvancedFilterController extends BaseController {
if (searchEmailFilter.mailbox == null) {
mailBoxFilterInputController.text = AppLocalizations.of(context).allMailboxes;
} else {
mailBoxFilterInputController.text = StringConvert.writeNullToEmpty(searchEmailFilter.mailbox?.name?.name);
mailBoxFilterInputController.text = StringConvert.writeNullToEmpty(searchEmailFilter.mailbox?.getDisplayName(context));
}
hasAttachment.value = searchEmailFilter.hasAttachment;
}
@@ -53,6 +53,7 @@ import 'package:tmail_ui_user/features/mailbox/domain/model/create_new_mailbox_r
import 'package:tmail_ui_user/features/mailbox/domain/state/mark_as_mailbox_read_state.dart';
import 'package:tmail_ui_user/features/mailbox/domain/usecases/mark_as_mailbox_read_interactor.dart';
import 'package:tmail_ui_user/features/mailbox/presentation/action/mailbox_ui_action.dart';
import 'package:tmail_ui_user/features/mailbox/presentation/extensions/presentation_mailbox_extension.dart';
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_actions.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/model/spam_report_state.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/state/get_app_dashboard_configuration_state.dart';
@@ -1062,7 +1063,7 @@ class MailboxDashBoardController extends ReloadableController {
..messageText(actionType.getContentDialog(
context,
count: listEmails?.length,
mailboxName: mailboxCurrent?.name?.name))
mailboxName: mailboxCurrent?.getDisplayName(context)))
..onCancelAction(AppLocalizations.of(context).cancel, () => popBack())
..onConfirmAction(
actionType.getConfirmActionName(context),
@@ -1081,7 +1082,7 @@ class MailboxDashBoardController extends ReloadableController {
..content(actionType.getContentDialog(
context,
count: listEmails?.length,
mailboxName: mailboxCurrent?.name?.name))
mailboxName: mailboxCurrent?.getDisplayName(context)))
..addIcon(SvgPicture.asset(_imagePaths.icRemoveDialog, fit: BoxFit.fill))
..colorConfirmButton(AppColor.colorConfirmActionDialog)
..styleTextConfirmButton(const TextStyle(
@@ -1253,14 +1254,19 @@ class MailboxDashBoardController extends ReloadableController {
filterMessageOption.value = FilterMessageOption.all;
}
void markAsReadMailboxAction() {
void markAsReadMailboxAction(BuildContext context) {
final session = sessionCurrent;
final currentAccountId = accountId.value;
final mailboxId = selectedMailbox.value?.id;
final mailboxName = selectedMailbox.value?.name;
final countEmailsUnread = selectedMailbox.value?.unreadEmails?.value.value ?? 0;
if (session != null && currentAccountId != null && mailboxId != null && mailboxName != null) {
markAsReadMailbox(session, currentAccountId, mailboxId, mailboxName, countEmailsUnread.toInt());
if (session != null && currentAccountId != null && mailboxId != null) {
markAsReadMailbox(
session,
currentAccountId,
mailboxId,
selectedMailbox.value?.getDisplayName(context) ?? '',
countEmailsUnread.toInt()
);
}
}
@@ -1268,14 +1274,14 @@ class MailboxDashBoardController extends ReloadableController {
Session session,
AccountId accountId,
MailboxId mailboxId,
MailboxName mailboxName,
String mailboxDisplayName,
int totalEmailsUnread
) {
consumeState(_markAsMailboxReadInteractor.execute(
session,
accountId,
mailboxId,
mailboxName,
mailboxDisplayName,
totalEmailsUnread,
_progressStateController));
}
@@ -1287,14 +1293,14 @@ class MailboxDashBoardController extends ReloadableController {
if (currentContext != null && currentOverlayContext != null) {
_appToast.showToastSuccessMessage(
currentOverlayContext!,
AppLocalizations.of(currentContext!).toastMessageMarkAsMailboxReadSuccess(success.mailboxName.name),
AppLocalizations.of(currentContext!).toastMessageMarkAsMailboxReadSuccess(success.mailboxDisplayName),
leadingSVGIcon: _imagePaths.icReadToast);
}
} else if (success is MarkAsMailboxReadHasSomeEmailFailure) {
if (currentContext != null && currentOverlayContext != null) {
_appToast.showToastSuccessMessage(
currentOverlayContext!,
AppLocalizations.of(currentContext!).toastMessageMarkAsMailboxReadHasSomeEmailFailure(success.mailboxName.name, success.countEmailsRead),
AppLocalizations.of(currentContext!).toastMessageMarkAsMailboxReadHasSomeEmailFailure(success.mailboxDisplayName, success.countEmailsRead),
leadingSVGIcon: _imagePaths.icReadToast);
}
}
@@ -1,5 +1,6 @@
import 'package:core/presentation/state/failure.dart';
import 'package:core/presentation/state/success.dart';
import 'package:flutter/cupertino.dart';
import 'package:get/get.dart';
import 'package:jmap_dart_client/jmap/account_id.dart';
import 'package:jmap_dart_client/jmap/core/session/session.dart';
@@ -9,6 +10,7 @@ import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox_filter_condition.dart
import 'package:model/extensions/mailbox_extension.dart';
import 'package:model/mailbox/presentation_mailbox.dart';
import 'package:tmail_ui_user/features/base/base_controller.dart';
import 'package:tmail_ui_user/features/mailbox/presentation/extensions/presentation_mailbox_extension.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/model/spam_report_state.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/state/get_number_of_unread_spam_emails_state.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/state/get_spam_mailbox_cached_state.dart';
@@ -64,7 +66,7 @@ class SpamReportController extends BaseController {
}
}
void dismissSpamReportAction() {
void dismissSpamReportAction(BuildContext context) {
if (Get.isRegistered<MailboxDashBoardController>()) {
final mailboxDashBoardController = Get.find<MailboxDashBoardController>();
final spamMailbox = _presentationSpamMailbox.value;
@@ -78,7 +80,7 @@ class SpamReportController extends BaseController {
session,
accountId,
spamMailbox.id,
spamMailbox.name ?? MailboxName(''),
spamMailbox.getDisplayName(context),
spamMailbox.unreadEmails?.value.value.toInt() ?? 0
);
_presentationSpamMailbox.value = null;