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
@@ -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));