From 8ac68ed1a5c4eed741d67cfd81519c04e8c1805a Mon Sep 17 00:00:00 2001 From: dab246 Date: Thu, 16 Apr 2026 18:49:22 +0700 Subject: [PATCH] TF-4301 Replace LabelModalMixin with direct methods in LabelController --- .../handle_label_action_type_extension.dart | 4 -- .../labels/presentation/label_controller.dart | 52 +++++++++++++---- .../presentation/mixin/label_modal_mixin.dart | 56 ------------------- 3 files changed, 42 insertions(+), 70 deletions(-) delete mode 100644 lib/features/labels/presentation/mixin/label_modal_mixin.dart diff --git a/lib/features/labels/presentation/extensions/handle_label_action_type_extension.dart b/lib/features/labels/presentation/extensions/handle_label_action_type_extension.dart index e50c3f3ec..e13bcc047 100644 --- a/lib/features/labels/presentation/extensions/handle_label_action_type_extension.dart +++ b/lib/features/labels/presentation/extensions/handle_label_action_type_extension.dart @@ -45,10 +45,6 @@ extension HandleLabelActionTypeExtension on LabelController { required AccountId? accountId, required Label label, }) async { - if (createNewLabelInteractor == null || editLabelInteractor == null) { - _handleEditLabelFailure(EditLabelFailure(const InteractorNotInitialized())); - return; - } final verifyNameInteractor = getBinding(); if (verifyNameInteractor == null) { _handleEditLabelFailure(EditLabelFailure(const InteractorNotInitialized())); diff --git a/lib/features/labels/presentation/label_controller.dart b/lib/features/labels/presentation/label_controller.dart index 95822deff..c4a77a34f 100644 --- a/lib/features/labels/presentation/label_controller.dart +++ b/lib/features/labels/presentation/label_controller.dart @@ -19,12 +19,13 @@ import 'package:tmail_ui_user/features/labels/domain/usecases/edit_label_interac import 'package:tmail_ui_user/features/labels/domain/usecases/get_all_label_interactor.dart'; import 'package:tmail_ui_user/features/labels/domain/usecases/get_label_changes_interactor.dart'; import 'package:tmail_ui_user/features/labels/presentation/extensions/handle_label_action_type_extension.dart'; +import 'package:tmail_ui_user/features/labels/presentation/models/label_action_type.dart'; import 'package:tmail_ui_user/features/labels/presentation/extensions/handle_label_websocket_extension.dart'; import 'package:tmail_ui_user/features/labels/presentation/label_interactor_bindings.dart'; import 'package:tmail_ui_user/features/labels/presentation/mixin/label_context_menu_mixin.dart'; -import 'package:tmail_ui_user/features/labels/presentation/mixin/label_modal_mixin.dart'; import 'package:tmail_ui_user/features/labels/presentation/widgets/create_new_label_modal.dart'; import 'package:tmail_ui_user/features/mailbox_creator/domain/usecases/verify_name_interactor.dart'; +import 'package:tmail_ui_user/main/routes/dialog_router.dart'; import 'package:tmail_ui_user/features/manage_account/domain/state/get_label_setting_state.dart'; import 'package:tmail_ui_user/features/manage_account/domain/usecases/get_label_setting_state_interactor.dart'; import 'package:tmail_ui_user/features/push_notification/presentation/websocket/web_socket_queue_handler.dart'; @@ -33,9 +34,7 @@ import 'package:tmail_ui_user/main/exceptions/logic_exception.dart'; import 'package:tmail_ui_user/main/routes/route_navigation.dart'; class LabelController extends BaseController - with LabelContextMenuMixin, - LabelModalMixin { - @override + with LabelContextMenuMixin { final RxList