TF-3953 Close several modals when click outside

This commit is contained in:
DatDang
2025-08-07 14:14:50 +07:00
committed by Dat H. Pham
parent 44c17bc762
commit 9e7298bc76
34 changed files with 575 additions and 580 deletions
@@ -1,12 +1,9 @@
import 'package:core/presentation/extensions/color_extension.dart';
import 'package:core/presentation/views/bottom_popup/confirmation_dialog_action_sheet_builder.dart';
import 'package:core/presentation/views/dialog/confirmation_dialog_builder.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:get/get.dart';
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
import 'package:pointer_interceptor/pointer_interceptor.dart';
import 'package:tmail_ui_user/features/base/base_mailbox_controller.dart';
import 'package:tmail_ui_user/features/base/mixin/message_dialog_action_manager.dart';
import 'package:tmail_ui_user/features/mailbox/domain/exceptions/empty_folder_name_exception.dart';
import 'package:tmail_ui_user/features/mailbox/domain/exceptions/invalid_mail_format_exception.dart';
import 'package:tmail_ui_user/features/mailbox/domain/model/mailbox_subaddressing_action.dart';
@@ -67,34 +64,29 @@ extension HandleMailboxActionTypeExtension on BaseMailboxController {
))
).show();
} else {
Get.dialog(
PointerInterceptor(
child: ConfirmationDialogBuilder(
key: const Key('confirm_dialog_subAddressing'),
imagePath: imagePaths,
title: AppLocalizations.of(context).allowSubaddressing,
textContent: AppLocalizations.of(context)
.message_confirmation_dialog_allow_subaddressing(mailboxName),
confirmText: AppLocalizations.of(context).allow,
cancelText: AppLocalizations.of(context).cancel,
additionalWidgetContent: CopySubaddressWidget(
imagePath: imagePaths,
subaddress: subAddress,
onCopyButtonAction: () => copySubAddressAction(
context,
subAddress,
),
),
onConfirmButtonAction: () => onAllowSubAddressingAction(
mailboxId,
currentRights,
MailboxActions.allowSubaddressing,
),
onCancelButtonAction: popBack,
onCloseButtonAction: popBack,
MessageDialogActionManager().showConfirmDialogAction(
context,
AppLocalizations.of(context)
.message_confirmation_dialog_allow_subaddressing(mailboxName),
AppLocalizations.of(context).allow,
key: const Key('confirm_dialog_subAddressing'),
title: AppLocalizations.of(context).allowSubaddressing,
cancelTitle: AppLocalizations.of(context).cancel,
additionalWidgetContent: CopySubaddressWidget(
imagePath: imagePaths,
subaddress: subAddress,
onCopyButtonAction: () => copySubAddressAction(
context,
subAddress,
),
),
barrierColor: AppColor.colorDefaultCupertinoActionSheet,
onConfirmAction: () => onAllowSubAddressingAction(
mailboxId,
currentRights,
MailboxActions.allowSubaddressing,
),
onCancelAction: popBack,
onCloseButtonAction: popBack,
);
}
}