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:
@@ -1,5 +1,5 @@
|
||||
import 'package:core/core.dart';
|
||||
import 'package:model/model.dart';
|
||||
import 'package:core/presentation/resources/image_paths.dart';
|
||||
import 'package:model/mailbox/presentation_mailbox.dart';
|
||||
import 'package:tmail_ui_user/main/routes/app_routes.dart';
|
||||
import 'package:tmail_ui_user/main/routes/navigation_router.dart';
|
||||
import 'package:tmail_ui_user/main/routes/route_utils.dart';
|
||||
@@ -9,21 +9,21 @@ extension PresentationMailboxExtension on PresentationMailbox {
|
||||
String getMailboxIcon(ImagePaths imagePaths) {
|
||||
if (hasRole()) {
|
||||
switch(role!.value) {
|
||||
case 'inbox':
|
||||
case PresentationMailbox.inboxRole:
|
||||
return imagePaths.icMailboxInbox;
|
||||
case 'drafts':
|
||||
case PresentationMailbox.draftsRole:
|
||||
return imagePaths.icMailboxDrafts;
|
||||
case 'outbox':
|
||||
case PresentationMailbox.outboxRole:
|
||||
return imagePaths.icMailboxOutbox;
|
||||
case 'archive':
|
||||
case PresentationMailbox.archiveRole:
|
||||
return imagePaths.icMailboxArchived;
|
||||
case 'sent':
|
||||
case PresentationMailbox.sentRole:
|
||||
return imagePaths.icMailboxSent;
|
||||
case 'trash':
|
||||
case PresentationMailbox.trashRole:
|
||||
return imagePaths.icMailboxTrash;
|
||||
case 'spam':
|
||||
case PresentationMailbox.spamRole:
|
||||
return imagePaths.icMailboxSpam;
|
||||
case 'templates':
|
||||
case PresentationMailbox.templatesRole:
|
||||
return imagePaths.icMailboxTemplate;
|
||||
case 'all_mail':
|
||||
return imagePaths.icMailboxAllMail;
|
||||
|
||||
@@ -6,7 +6,7 @@ import 'package:tmail_ui_user/features/email/domain/model/move_action.dart';
|
||||
class MoveMailboxRequest with EquatableMixin {
|
||||
|
||||
final MailboxId? destinationMailboxId;
|
||||
final MailboxName? destinationMailboxName;
|
||||
final String? destinationMailboxDisplayName;
|
||||
final MailboxId? parentId;
|
||||
final MailboxId mailboxId;
|
||||
final MoveAction moveAction;
|
||||
@@ -17,7 +17,7 @@ class MoveMailboxRequest with EquatableMixin {
|
||||
{
|
||||
this.parentId,
|
||||
this.destinationMailboxId,
|
||||
this.destinationMailboxName
|
||||
this.destinationMailboxDisplayName
|
||||
}
|
||||
);
|
||||
|
||||
@@ -27,6 +27,6 @@ class MoveMailboxRequest with EquatableMixin {
|
||||
moveAction,
|
||||
parentId,
|
||||
destinationMailboxId,
|
||||
destinationMailboxName
|
||||
destinationMailboxDisplayName
|
||||
];
|
||||
}
|
||||
@@ -28,9 +28,9 @@ class UpdatingMarkAsMailboxReadState extends UIState {
|
||||
|
||||
class MarkAsMailboxReadAllSuccess extends UIActionState {
|
||||
|
||||
final MailboxName mailboxName;
|
||||
final String mailboxDisplayName;
|
||||
|
||||
MarkAsMailboxReadAllSuccess(this.mailboxName,
|
||||
MarkAsMailboxReadAllSuccess(this.mailboxDisplayName,
|
||||
{
|
||||
jmap.State? currentEmailState,
|
||||
jmap.State? currentMailboxState,
|
||||
@@ -38,16 +38,16 @@ class MarkAsMailboxReadAllSuccess extends UIActionState {
|
||||
) : super(currentMailboxState, currentEmailState);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [mailboxName];
|
||||
List<Object?> get props => [mailboxDisplayName];
|
||||
}
|
||||
|
||||
class MarkAsMailboxReadHasSomeEmailFailure extends UIActionState {
|
||||
|
||||
final MailboxName mailboxName;
|
||||
final String mailboxDisplayName;
|
||||
final int countEmailsRead;
|
||||
|
||||
MarkAsMailboxReadHasSomeEmailFailure(
|
||||
this.mailboxName,
|
||||
this.mailboxDisplayName,
|
||||
this.countEmailsRead,
|
||||
{
|
||||
jmap.State? currentEmailState,
|
||||
@@ -56,7 +56,7 @@ class MarkAsMailboxReadHasSomeEmailFailure extends UIActionState {
|
||||
) : super(currentMailboxState, currentEmailState);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [mailboxName, countEmailsRead];
|
||||
List<Object?> get props => [mailboxDisplayName, countEmailsRead];
|
||||
}
|
||||
|
||||
class MarkAsMailboxReadAllFailure extends FeatureFailure {
|
||||
|
||||
@@ -12,7 +12,7 @@ class MoveMailboxSuccess extends UIActionState {
|
||||
final MoveAction moveAction;
|
||||
final MailboxId? parentId;
|
||||
final MailboxId? destinationMailboxId;
|
||||
final MailboxName? destinationMailboxName;
|
||||
final String? destinationMailboxDisplayName;
|
||||
|
||||
MoveMailboxSuccess(
|
||||
this.mailboxIdSelected,
|
||||
@@ -20,7 +20,7 @@ class MoveMailboxSuccess extends UIActionState {
|
||||
{
|
||||
this.parentId,
|
||||
this.destinationMailboxId,
|
||||
this.destinationMailboxName,
|
||||
this.destinationMailboxDisplayName,
|
||||
jmap.State? currentEmailState,
|
||||
jmap.State? currentMailboxState,
|
||||
}
|
||||
@@ -29,14 +29,17 @@ class MoveMailboxSuccess extends UIActionState {
|
||||
@override
|
||||
List<Object?> get props => [
|
||||
mailboxIdSelected,
|
||||
moveAction,
|
||||
parentId,
|
||||
destinationMailboxId];
|
||||
destinationMailboxId,
|
||||
destinationMailboxDisplayName,
|
||||
...super.props
|
||||
];
|
||||
}
|
||||
|
||||
class MoveMailboxFailure extends FeatureFailure {
|
||||
final dynamic exception;
|
||||
|
||||
MoveMailboxFailure(this.exception);
|
||||
MoveMailboxFailure(dynamic exception) : super(exception: exception);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [exception];
|
||||
|
||||
@@ -19,7 +19,7 @@ class MarkAsMailboxReadInteractor {
|
||||
Session session,
|
||||
AccountId accountId,
|
||||
MailboxId mailboxId,
|
||||
MailboxName mailboxName,
|
||||
String mailboxDisplayName,
|
||||
int totalEmailUnread,
|
||||
StreamController<Either<Failure, Success>> onProgressController
|
||||
) async* {
|
||||
@@ -44,15 +44,15 @@ class MarkAsMailboxReadInteractor {
|
||||
|
||||
if (totalEmailUnread == listEmails.length) {
|
||||
yield Right(MarkAsMailboxReadAllSuccess(
|
||||
mailboxName,
|
||||
currentEmailState: currentEmailState,
|
||||
currentMailboxState: currentMailboxState));
|
||||
mailboxDisplayName,
|
||||
currentEmailState: currentEmailState,
|
||||
currentMailboxState: currentMailboxState));
|
||||
} else if (listEmails.isNotEmpty) {
|
||||
yield Right(MarkAsMailboxReadHasSomeEmailFailure(
|
||||
mailboxName,
|
||||
listEmails.length,
|
||||
currentEmailState: currentEmailState,
|
||||
currentMailboxState: currentMailboxState));
|
||||
mailboxDisplayName,
|
||||
listEmails.length,
|
||||
currentEmailState: currentEmailState,
|
||||
currentMailboxState: currentMailboxState));
|
||||
} else {
|
||||
yield Left(MarkAsMailboxReadAllFailure());
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ class MoveMailboxInteractor {
|
||||
request.moveAction,
|
||||
parentId: request.parentId,
|
||||
destinationMailboxId: request.destinationMailboxId,
|
||||
destinationMailboxName: request.destinationMailboxName,
|
||||
destinationMailboxDisplayName: request.destinationMailboxDisplayName,
|
||||
currentMailboxState: currentMailboxState));
|
||||
} else {
|
||||
yield Left<Failure, Success>(MoveMailboxFailure(null));
|
||||
|
||||
@@ -51,6 +51,7 @@ import 'package:tmail_ui_user/features/mailbox/domain/usecases/rename_mailbox_in
|
||||
import 'package:tmail_ui_user/features/mailbox/domain/usecases/subscribe_mailbox_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/domain/usecases/subscribe_multiple_mailbox_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/presentation/model/mailbox_categories.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_categories_expand_mode.dart';
|
||||
@@ -615,7 +616,7 @@ class MailboxController extends BaseMailboxController with MailboxActionHandlerM
|
||||
context,
|
||||
selectedMailboxList.first,
|
||||
mailboxDashBoardController,
|
||||
onMovingMailboxAction: _invokeMovingMailboxAction
|
||||
onMovingMailboxAction: (mailboxSelected, destinationMailbox) => _invokeMovingMailboxAction(context, mailboxSelected, destinationMailbox)
|
||||
);
|
||||
break;
|
||||
default:
|
||||
@@ -769,6 +770,7 @@ class MailboxController extends BaseMailboxController with MailboxActionHandlerM
|
||||
}
|
||||
|
||||
void _handleMovingMailbox(
|
||||
BuildContext context,
|
||||
Session session,
|
||||
AccountId accountId,
|
||||
MoveAction moveAction,
|
||||
@@ -782,7 +784,7 @@ class MailboxController extends BaseMailboxController with MailboxActionHandlerM
|
||||
mailboxSelected.id,
|
||||
moveAction,
|
||||
destinationMailboxId: destinationMailbox?.id,
|
||||
destinationMailboxName: destinationMailbox?.name,
|
||||
destinationMailboxDisplayName: destinationMailbox?.getDisplayName(context),
|
||||
parentId: mailboxSelected.parentId)));
|
||||
}
|
||||
|
||||
@@ -793,7 +795,7 @@ class MailboxController extends BaseMailboxController with MailboxActionHandlerM
|
||||
_appToast.showToastMessage(
|
||||
currentOverlayContext!,
|
||||
AppLocalizations.of(currentContext!).moved_to_mailbox(
|
||||
success.destinationMailboxName?.name ?? AppLocalizations.of(currentContext!).allMailboxes),
|
||||
success.destinationMailboxDisplayName ?? AppLocalizations.of(currentContext!).allMailboxes),
|
||||
actionName: AppLocalizations.of(currentContext!).undo,
|
||||
onActionClick: () {
|
||||
_undoMovingMailbox(MoveMailboxRequest(
|
||||
@@ -905,7 +907,7 @@ class MailboxController extends BaseMailboxController with MailboxActionHandlerM
|
||||
context,
|
||||
mailbox,
|
||||
mailboxDashBoardController,
|
||||
onMovingMailboxAction: _invokeMovingMailboxAction
|
||||
onMovingMailboxAction: (mailboxSelected, destinationMailbox) => _invokeMovingMailboxAction(context, mailboxSelected, destinationMailbox)
|
||||
);
|
||||
break;
|
||||
case MailboxActions.markAsRead:
|
||||
@@ -934,11 +936,16 @@ class MailboxController extends BaseMailboxController with MailboxActionHandlerM
|
||||
}
|
||||
}
|
||||
|
||||
void _invokeMovingMailboxAction(PresentationMailbox mailboxSelected, PresentationMailbox? destinationMailbox) {
|
||||
void _invokeMovingMailboxAction(
|
||||
BuildContext context,
|
||||
PresentationMailbox mailboxSelected,
|
||||
PresentationMailbox? destinationMailbox
|
||||
) {
|
||||
final accountId = mailboxDashBoardController.accountId.value;
|
||||
final session = mailboxDashBoardController.sessionCurrent;
|
||||
if (session != null && accountId != null) {
|
||||
_handleMovingMailbox(
|
||||
context,
|
||||
session,
|
||||
accountId,
|
||||
MoveAction.moving,
|
||||
|
||||
Reference in New Issue
Block a user