TW-4308 Add labels for several messages part 2 (#4431)

Add ChooseLabelModal, delegate, and update label UI components

Wire add-labels action across Thread, Search, and Dashboard
This commit is contained in:
Dat Dang
2026-04-15 14:25:37 +07:00
committed by GitHub
parent 77c2ef745f
commit 6fc88f780c
20 changed files with 560 additions and 83 deletions
@@ -2,6 +2,7 @@ import 'package:get/get.dart';
import 'package:tmail_ui_user/features/email/domain/repository/email_repository.dart';
import 'package:tmail_ui_user/features/email/domain/usecases/add_a_label_to_an_email_interactor.dart';
import 'package:tmail_ui_user/features/email/domain/usecases/remove_a_label_from_an_email_interactor.dart';
import 'package:tmail_ui_user/features/email/domain/usecases/labels/add_list_label_to_list_emails_interactor.dart';
class EmailActionInteractorBindings extends Bindings {
@@ -13,5 +14,6 @@ class EmailActionInteractorBindings extends Bindings {
void dependencies() {
Get.lazyPut(() => AddALabelToAnEmailInteractor(_emailRepository));
Get.lazyPut(() => RemoveALabelFromAnEmailInteractor(_emailRepository));
Get.lazyPut(() => AddListLabelToListEmailsInteractor(_emailRepository));
}
}
}
@@ -58,6 +58,8 @@ import 'package:tmail_ui_user/features/identity_creator/data/datasource_impl/loc
import 'package:tmail_ui_user/features/identity_creator/data/repository/identity_creator_repository_impl.dart';
import 'package:tmail_ui_user/features/identity_creator/domain/repository/identity_creator_repository.dart';
import 'package:tmail_ui_user/features/identity_creator/domain/usecase/get_identity_cache_on_web_interactor.dart';
import 'package:tmail_ui_user/features/email/domain/usecases/labels/add_list_label_to_list_emails_interactor.dart';
import 'package:tmail_ui_user/features/labels/presentation/delegates/add_list_label_to_list_emails_delegate.dart';
import 'package:tmail_ui_user/features/labels/presentation/label_controller.dart';
import 'package:tmail_ui_user/features/mailbox/data/datasource/mailbox_datasource.dart';
import 'package:tmail_ui_user/features/mailbox/data/datasource/state_datasource.dart';
@@ -212,6 +214,10 @@ class MailboxDashBoardBindings extends BaseBindings {
Get.find<GetSpamMailboxCachedInteractor>()));
Get.put(LabelController());
Get.put(AddListLabelToListEmailsDelegate(
Get.find<LabelController>(),
Get.find<AddListLabelToListEmailsInteractor>(),
));
Get.lazyPut(() => ComposerManager());