TF-3189 new confirmation popup when enabling subaddressing for a folder

This commit is contained in:
Florent Azavant
2024-11-29 12:25:42 +01:00
committed by Dat H. Pham
parent 019dbe6e03
commit 78be3e4d79
6 changed files with 164 additions and 7 deletions
@@ -52,6 +52,11 @@ import 'package:tmail_ui_user/main/routes/app_routes.dart';
import 'package:tmail_ui_user/main/routes/dialog_router.dart';
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
typedef RenameMailboxActionCallback = void Function(PresentationMailbox mailbox, MailboxName newMailboxName);
typedef MovingMailboxActionCallback = void Function(PresentationMailbox mailboxSelected, PresentationMailbox? destinationMailbox);
typedef DeleteMailboxActionCallback = void Function(PresentationMailbox mailbox);
typedef AllowSubaddressingActionCallback = void Function(MailboxId, Map<String, List<String>?>?, MailboxActions);
abstract class BaseMailboxController extends BaseController {
final TreeBuilder _treeBuilder;
final VerifyNameInteractor verifyNameInteractor;
@@ -318,7 +323,7 @@ abstract class BaseMailboxController extends BaseController {
BuildContext context,
PresentationMailbox presentationMailbox,
ResponsiveUtils responsiveUtils, {
required Function(PresentationMailbox mailbox, MailboxName newMailboxName) onRenameMailboxAction
required RenameMailboxActionCallback onRenameMailboxAction
}) {
final listMailboxName = getListMailboxNameInParentMailbox(presentationMailbox);
@@ -388,7 +393,7 @@ abstract class BaseMailboxController extends BaseController {
BuildContext context,
PresentationMailbox mailboxSelected,
MailboxDashBoardController dashBoardController, {
required Function(PresentationMailbox mailboxSelected, PresentationMailbox? destinationMailbox) onMovingMailboxAction
required MovingMailboxActionCallback onMovingMailboxAction
}) async {
final accountId = dashBoardController.accountId.value;
final session = dashBoardController.sessionCurrent;
@@ -421,7 +426,7 @@ abstract class BaseMailboxController extends BaseController {
ResponsiveUtils responsiveUtils,
ImagePaths imagePaths,
PresentationMailbox presentationMailbox, {
required Function(PresentationMailbox mailbox) onDeleteMailboxAction
required DeleteMailboxActionCallback onDeleteMailboxAction
}) {
if (responsiveUtils.isLandscapeMobile(context) || responsiveUtils.isPortraitMobile(context)) {
(ConfirmationDialogActionSheetBuilder(context)