Standardize button actions in confirm dialog

This commit is contained in:
dab246
2025-08-26 16:42:41 +07:00
committed by Dat H. Pham
parent e26e0be51d
commit ff0ac57c1d
10 changed files with 39 additions and 43 deletions
@@ -456,7 +456,6 @@ abstract class BaseMailboxController extends BaseController {
title: AppLocalizations.of(context).deleteFolders,
cancelTitle: AppLocalizations.of(context).cancel,
onConfirmAction: () => onDeleteMailboxAction(presentationMailbox),
onCancelAction: popBack,
onCloseButtonAction: popBack,
);
}
@@ -85,7 +85,6 @@ extension HandleMailboxActionTypeExtension on BaseMailboxController {
currentRights,
MailboxActions.allowSubaddressing,
),
onCancelAction: popBack,
onCloseButtonAction: popBack,
);
}
@@ -94,7 +94,6 @@ mixin MailboxActionHandlerMixin {
);
}
},
onCancelAction: popBack,
);
}
}
@@ -147,7 +146,6 @@ mixin MailboxActionHandlerMixin {
);
}
},
onCancelAction: popBack
);
}
}
@@ -781,11 +781,13 @@ class ComposerController extends BaseController
autoCreateEmailTag();
}
final appLocalizations = AppLocalizations.of(context);
if (!isEnableEmailSendButton.value) {
MessageDialogActionManager().showConfirmDialogAction(context,
AppLocalizations.of(context).message_dialog_send_email_without_recipient,
AppLocalizations.of(context).add_recipients,
title: AppLocalizations.of(context).sending_failed,
appLocalizations.message_dialog_send_email_without_recipient,
appLocalizations.add_recipients,
title: appLocalizations.sending_failed,
hasCancelButton: false,
showAsBottomSheet: true,
dialogMargin: MediaQuery.paddingOf(context).add(const EdgeInsets.only(bottom: 12)),
@@ -799,8 +801,8 @@ class ComposerController extends BaseController
.toList();
if (listEmailAddressInvalid.isNotEmpty) {
MessageDialogActionManager().showConfirmDialogAction(context,
AppLocalizations.of(context).message_dialog_send_email_with_email_address_invalid,
AppLocalizations.of(context).fix_email_addresses,
appLocalizations.message_dialog_send_email_with_email_address_invalid,
appLocalizations.fix_email_addresses,
onConfirmAction: () {
toAddressExpandMode.value = ExpandMode.EXPAND;
ccAddressExpandMode.value = ExpandMode.EXPAND;
@@ -808,7 +810,7 @@ class ComposerController extends BaseController
replyToAddressExpandMode.value = ExpandMode.EXPAND;
},
showAsBottomSheet: true,
title: AppLocalizations.of(context).sending_failed,
title: appLocalizations.sending_failed,
hasCancelButton: false,
dialogMargin: MediaQuery.paddingOf(context).add(const EdgeInsets.only(bottom: 12)),
).whenComplete(() => _sendButtonState = ButtonState.enabled);
@@ -817,13 +819,13 @@ class ComposerController extends BaseController
if (subjectEmail.value == null || subjectEmail.isEmpty == true) {
MessageDialogActionManager().showConfirmDialogAction(context,
AppLocalizations.of(context).message_dialog_send_email_without_a_subject,
AppLocalizations.of(context).cancel,
cancelTitle: AppLocalizations.of(context).send_anyway,
onCancelAction: () => _handleSendMessages(context),
onConfirmAction: popBack,
appLocalizations.message_dialog_send_email_without_a_subject,
appLocalizations.send_anyway,
cancelTitle: appLocalizations.cancel,
onConfirmAction: () => _handleSendMessages(context),
onCancelAction: popBack,
autoPerformPopBack: false,
title: AppLocalizations.of(context).empty_subject,
title: appLocalizations.empty_subject,
showAsBottomSheet: true,
dialogMargin: MediaQuery.paddingOf(context).add(const EdgeInsets.only(bottom: 12)),
).whenComplete(() => _sendButtonState = ButtonState.enabled);
@@ -833,9 +835,9 @@ class ComposerController extends BaseController
if (!uploadController.allUploadAttachmentsCompleted) {
MessageDialogActionManager().showConfirmDialogAction(
context,
AppLocalizations.of(context).messageDialogSendEmailUploadingAttachment,
AppLocalizations.of(context).got_it,
title: AppLocalizations.of(context).sending_failed,
appLocalizations.messageDialogSendEmailUploadingAttachment,
appLocalizations.got_it,
title: appLocalizations.sending_failed,
showAsBottomSheet: true,
hasCancelButton: false,
dialogMargin: MediaQuery.paddingOf(context).add(const EdgeInsets.only(bottom: 12)),
@@ -846,10 +848,11 @@ class ComposerController extends BaseController
if (uploadController.isExceededMaxSizeAttachmentsPerEmail()) {
MessageDialogActionManager().showConfirmDialogAction(
context,
AppLocalizations.of(context).message_dialog_send_email_exceeds_maximum_size(
filesize(mailboxDashBoardController.maxSizeAttachmentsPerEmail?.value ?? 0, 0)),
AppLocalizations.of(context).got_it,
title: AppLocalizations.of(context).sending_failed,
appLocalizations.message_dialog_send_email_exceeds_maximum_size(
filesize(mailboxDashBoardController.maxSizeAttachmentsPerEmail?.value ?? 0, 0),
),
appLocalizations.got_it,
title: appLocalizations.sending_failed,
hasCancelButton: false
).whenComplete(() => _sendButtonState = ButtonState.enabled);
return;
@@ -216,10 +216,9 @@ class EmailActionReactor {
currentContext!,
title: DeleteActionType.single.getTitleDialog(currentContext!),
DeleteActionType.single.getContentDialog(currentContext!),
cancelTitle: DeleteActionType.single.getConfirmActionName(currentContext!),
AppLocalizations.of(currentContext!).cancel,
onCancelAction: () => onDeleteEmailRequest.call(presentationEmail),
onConfirmAction: popBack,
DeleteActionType.single.getConfirmActionName(currentContext!),
cancelTitle: AppLocalizations.of(currentContext!).cancel,
onConfirmAction: () => onDeleteEmailRequest.call(presentationEmail),
onCloseButtonAction: popBack,
);
}
@@ -1063,7 +1063,6 @@ class MailboxController extends BaseMailboxController
AppLocalizations.of(context).messageConfirmationDialogDeleteMultipleFolder(selectedMailboxList.length),
cancelTitle: AppLocalizations.of(context).cancel,
AppLocalizations.of(context).delete,
onCancelAction: popBack,
onConfirmAction: () => _deleteMultipleMailboxAction(selectedMailboxList),
onCloseButtonAction: popBack,
);
@@ -1681,14 +1681,13 @@ class MailboxDashBoardController extends ReloadableController
actionType.getConfirmActionName(context),
cancelTitle: AppLocalizations.of(context).cancel,
onConfirmAction: () {
onConfirm?.call();
_deleteSelectionEmailsPermanentlyAction(
onConfirm?.call();
_deleteSelectionEmailsPermanentlyAction(
actionType,
listEmails: listEmails,
onCancelSelectionEmail: onCancelSelectionEmail,
);
},
onCancelAction: popBack,
},
onCloseButtonAction: popBack,
);
}
@@ -2745,7 +2744,6 @@ class MailboxDashBoardController extends ReloadableController
);
}
},
onCancelAction: popBack,
onCloseButtonAction: popBack,
);
}
@@ -191,14 +191,15 @@ class SendingQueueController extends BaseController {
}
void _deleteListSendingEmailAction(BuildContext context, List<SendingEmail> listSendingEmails) {
final appLocalizations = AppLocalizations.of(context);
MessageDialogActionManager().showConfirmDialogAction(
context,
AppLocalizations.of(context).messageDialogDeleteSendingEmail,
AppLocalizations.of(context).cancel,
title: AppLocalizations.of(context).deleteOfflineEmail,
appLocalizations.messageDialogDeleteSendingEmail,
appLocalizations.delete,
title: appLocalizations.deleteOfflineEmail,
alignCenter: true,
cancelTitle: AppLocalizations.of(context).delete,
onCancelAction: () => _handleDeleteListSendingEmail(listSendingEmails),
cancelTitle: appLocalizations.cancel,
onConfirmAction: () => _handleDeleteListSendingEmail(listSendingEmails),
);
}
@@ -250,7 +250,6 @@ mixin EmailActionController {
DeleteActionType.single.getConfirmActionName(context),
cancelTitle: AppLocalizations.of(context).cancel,
onConfirmAction: () => _deleteEmailPermanentlyAction(context, email),
onCancelAction: popBack,
onCloseButtonAction: popBack,
);
}
@@ -382,14 +382,15 @@ class UploadController extends BaseController {
required BuildContext context,
VoidCallback? confirmAction,
}) {
final appLocalizations = AppLocalizations.of(context);
MessageDialogActionManager().showConfirmDialogAction(
context,
title: '',
AppLocalizations.of(context).warningMessageWhenExceedGenerallySizeInComposer,
AppLocalizations.of(context).cancel,
cancelTitle: AppLocalizations.of(context).continueAction,
appLocalizations.warningMessageWhenExceedGenerallySizeInComposer,
appLocalizations.continueAction,
cancelTitle: appLocalizations.cancel,
alignCenter: true,
onCancelAction: confirmAction,
onConfirmAction: confirmAction,
);
}