TF-4301 Add "Create a new label" button in Label As menus and wire up tagging in email view

This commit is contained in:
dab246
2026-02-04 13:53:01 +07:00
committed by Dat H. Pham
parent 061793846e
commit 190ccc7bc3
29 changed files with 600 additions and 247 deletions
@@ -2,6 +2,8 @@ import 'package:core/core.dart';
import 'package:flutter/material.dart';
import 'package:labels/model/label.dart';
import 'package:model/email/presentation_email.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/search/email/presentation/search_email_controller.dart';
import 'package:tmail_ui_user/features/thread/presentation/mixin/email_more_action_context_menu_mixin.dart';
@@ -37,6 +39,16 @@ extension HandleEmailMoreActionExtension on SearchEmailController {
isSelected,
);
},
onCreateANewLabelAction: () {
final emailId = presentationEmail.id;
if (emailId == null) return;
mailboxDashBoardController.labelController.handleLabelActionType(
actionType: LabelActionType.create,
accountId: accountId,
onLabelActionCallback: (label) =>
mailboxDashBoardController.toggleLabelToEmail(emailId, label, true),
);
},
),
);
}