TF-4236 Implement remove a label from an thread

This commit is contained in:
dab246
2026-01-09 19:49:21 +07:00
committed by Dat H. Pham
parent b37359af03
commit 1058b94363
23 changed files with 402 additions and 47 deletions
@@ -5724,4 +5724,20 @@ class AppLocalizations {
args: [labelName],
);
}
String removeLabelFromThreadSuccessfullyMessage(String labelName) {
return Intl.message(
'All emails in thread removed from the "$labelName" label',
name: 'removeLabelFromThreadSuccessfullyMessage',
args: [labelName],
);
}
String removeLabelFromThreadFailureMessage(String labelName) {
return Intl.message(
'Cannot remove all emails from thread to the "$labelName" label',
name: 'removeLabelFromThreadFailureMessage',
args: [labelName],
);
}
}
+10
View File
@@ -25,6 +25,7 @@ import 'package:tmail_ui_user/features/email/domain/model/move_action.dart';
import 'package:tmail_ui_user/features/email/domain/state/add_a_label_to_an_email_state.dart';
import 'package:tmail_ui_user/features/email/domain/state/add_a_label_to_an_thread_state.dart';
import 'package:tmail_ui_user/features/email/domain/state/calendar_event_reply_state.dart';
import 'package:tmail_ui_user/features/email/domain/state/labels/remove_a_label_from_an_thread_state.dart';
import 'package:tmail_ui_user/features/email/domain/state/mark_as_email_star_state.dart';
import 'package:tmail_ui_user/features/download/domain/state/parse_email_by_blob_id_state.dart';
import 'package:tmail_ui_user/features/download/domain/state/preview_email_from_eml_file_state.dart';
@@ -218,6 +219,11 @@ class ToastManager {
appLocalizations.removeLabelFromEmailFailureMessage(
failure.labelDisplay,
);
} else if (failure is RemoveALabelFromAThreadFailure) {
message = message ??
appLocalizations.removeLabelFromThreadFailureMessage(
failure.labelDisplay,
);
}
log('ToastManager::showMessageFailure: Message: $message');
if (message?.trim().isNotEmpty == true) {
@@ -301,6 +307,10 @@ class ToastManager {
message = appLocalizations.removeLabelFromEmailSuccessfullyMessage(
success.labelDisplay,
);
} else if (success is RemoveALabelFromAThreadSuccess) {
message = appLocalizations.removeLabelFromThreadSuccessfullyMessage(
success.labelDisplay,
);
}
log('ToastManager::showMessageSuccess: Message: $message');
if (message?.trim().isNotEmpty == true) {