From ae0c8479607dcfa72df4ec4fb32f83534a350936 Mon Sep 17 00:00:00 2001 From: dab246 Date: Thu, 13 Mar 2025 16:34:23 +0700 Subject: [PATCH] Hot fix update new UI for confirm dialog Signed-off-by: dab246 --- ...firmation_dialog_action_sheet_builder.dart | 4 +- .../dialog/confirmation_dialog_builder.dart | 60 ++++++++++++------- .../base/base_mailbox_controller.dart | 4 ++ .../mixin/mailbox_action_handler_mixin.dart | 8 +++ .../mixin/message_dialog_action_mixin.dart | 20 +++++-- .../presentation/composer_controller.dart | 4 ++ .../controller/single_email_controller.dart | 4 ++ .../presentation/mailbox_controller.dart | 4 ++ .../mailbox_dashboard_controller.dart | 8 +++ .../email_rules/email_rules_controller.dart | 4 ++ .../forward/forward_controller.dart | 9 +++ ...complete_contact_text_field_with_tags.dart | 4 ++ .../delete_identity_dialog_builder.dart | 5 ++ .../mixin/email_action_controller.dart | 4 ++ .../controller/upload_controller.dart | 4 ++ 15 files changed, 117 insertions(+), 29 deletions(-) diff --git a/core/lib/presentation/views/bottom_popup/confirmation_dialog_action_sheet_builder.dart b/core/lib/presentation/views/bottom_popup/confirmation_dialog_action_sheet_builder.dart index 178153400..95ed89cda 100644 --- a/core/lib/presentation/views/bottom_popup/confirmation_dialog_action_sheet_builder.dart +++ b/core/lib/presentation/views/bottom_popup/confirmation_dialog_action_sheet_builder.dart @@ -99,7 +99,7 @@ class ConfirmationDialogActionSheetBuilder { child: Text( _confirmText ?? '', style: _styleConfirmButton ?? Theme.of(context).textTheme.bodyLarge?.copyWith( - color: AppColor.steelGray600, + color: AppColor.colorActionDeleteConfirmDialog, )), onPressed: () => _onConfirmActionClick?.call(), ), @@ -112,7 +112,7 @@ class ConfirmationDialogActionSheetBuilder { child: Text( _cancelText ?? '', style: _styleCancelButton ?? Theme.of(context).textTheme.bodyLarge?.copyWith( - color: Colors.white, + color: AppColor.blue700, )), onPressed: () => _onCancelActionClick?.call(), ), diff --git a/core/lib/presentation/views/dialog/confirmation_dialog_builder.dart b/core/lib/presentation/views/dialog/confirmation_dialog_builder.dart index a86e8195f..b0a03881d 100644 --- a/core/lib/presentation/views/dialog/confirmation_dialog_builder.dart +++ b/core/lib/presentation/views/dialog/confirmation_dialog_builder.dart @@ -17,8 +17,10 @@ class ConfirmationDialogBuilder extends StatelessWidget { final String cancelText; final Widget? iconWidget; final Widget? additionalWidgetContent; - final Color? colorCancelButton; - final Color? colorConfirmButton; + final Color? cancelBackgroundButtonColor; + final Color? confirmBackgroundButtonColor; + final Color? cancelLabelButtonColor; + final Color? confirmLabelButtonColor; final TextStyle? styleTextCancelButton; final TextStyle? styleTextConfirmButton; final TextStyle? styleTitle; @@ -53,8 +55,10 @@ class ConfirmationDialogBuilder extends StatelessWidget { this.cancelText = '', this.iconWidget, this.additionalWidgetContent, - this.colorCancelButton, - this.colorConfirmButton, + this.cancelBackgroundButtonColor, + this.confirmBackgroundButtonColor, + this.cancelLabelButtonColor, + this.confirmLabelButtonColor, this.styleTextCancelButton, this.styleTextConfirmButton, this.styleTitle, @@ -92,8 +96,10 @@ class ConfirmationDialogBuilder extends StatelessWidget { cancelText: cancelText, iconWidget: iconWidget, additionalWidgetContent: additionalWidgetContent, - colorCancelButton: colorCancelButton, - colorConfirmButton: colorConfirmButton, + cancelBackgroundButtonColor: cancelBackgroundButtonColor, + confirmBackgroundButtonColor: confirmBackgroundButtonColor, + cancelLabelButtonColor: cancelLabelButtonColor, + confirmLabelButtonColor: confirmLabelButtonColor, styleTextCancelButton: styleTextCancelButton, styleTextConfirmButton: styleTextConfirmButton, styleTitle: styleTitle, @@ -129,8 +135,10 @@ class ConfirmationDialogBuilder extends StatelessWidget { cancelText: cancelText, iconWidget: iconWidget, additionalWidgetContent: additionalWidgetContent, - colorCancelButton: colorCancelButton, - colorConfirmButton: colorConfirmButton, + cancelBackgroundButtonColor: cancelBackgroundButtonColor, + confirmBackgroundButtonColor: confirmBackgroundButtonColor, + cancelLabelButtonColor: cancelLabelButtonColor, + confirmLabelButtonColor: confirmLabelButtonColor, styleTextCancelButton: styleTextCancelButton, styleTextConfirmButton: styleTextConfirmButton, styleTitle: styleTitle, @@ -164,8 +172,10 @@ class _BodyContent extends StatelessWidget { final String cancelText; final Widget? iconWidget; final Widget? additionalWidgetContent; - final Color? colorCancelButton; - final Color? colorConfirmButton; + final Color? cancelBackgroundButtonColor; + final Color? confirmBackgroundButtonColor; + final Color? cancelLabelButtonColor; + final Color? confirmLabelButtonColor; final TextStyle? styleTextCancelButton; final TextStyle? styleTextConfirmButton; final TextStyle? styleTitle; @@ -195,8 +205,10 @@ class _BodyContent extends StatelessWidget { required this.cancelText, this.iconWidget, this.additionalWidgetContent, - this.colorCancelButton, - this.colorConfirmButton, + this.cancelBackgroundButtonColor, + this.confirmBackgroundButtonColor, + this.cancelLabelButtonColor, + this.confirmLabelButtonColor, this.styleTextCancelButton, this.styleTextConfirmButton, this.styleTitle, @@ -366,7 +378,8 @@ class _BodyContent extends StatelessWidget { context, cancelText, onCancelButtonAction, - colorCancelButton, + cancelBackgroundButtonColor, + cancelLabelButtonColor, styleTextCancelButton, ), ), @@ -377,7 +390,8 @@ class _BodyContent extends StatelessWidget { context, confirmText, onConfirmButtonAction, - colorConfirmButton, + confirmBackgroundButtonColor, + confirmLabelButtonColor, styleTextConfirmButton, ), ), @@ -396,7 +410,8 @@ class _BodyContent extends StatelessWidget { context, cancelText, onCancelButtonAction, - colorCancelButton, + cancelBackgroundButtonColor, + cancelLabelButtonColor, styleTextCancelButton, ), ), @@ -408,7 +423,8 @@ class _BodyContent extends StatelessWidget { context, confirmText, onConfirmButtonAction, - colorConfirmButton, + confirmBackgroundButtonColor, + confirmLabelButtonColor, styleTextConfirmButton, ), ), @@ -423,20 +439,22 @@ class _BodyContent extends StatelessWidget { String label, VoidCallback? onTapAction, Color? bgColor, + Color? textColor, TextStyle? textStyle, ) { return ConfirmDialogButton( label: label, backgroundColor: bgColor ?? (onTapAction == onConfirmButtonAction - ? AppColor.grayBackgroundColor - : AppColor.blue700), + ? AppColor.blue700 + : AppColor.grayBackgroundColor), borderRadius: radiusButton, textStyle: textStyle, padding: paddingButton, - textColor: onTapAction == onConfirmButtonAction - ? AppColor.steelGray600 - : Colors.white, + textColor: textColor ?? + (onTapAction == onConfirmButtonAction + ? Colors.white + : AppColor.steelGray600), maxLines: titleActionButtonMaxLines, onTapAction: onTapAction, ); diff --git a/lib/features/base/base_mailbox_controller.dart b/lib/features/base/base_mailbox_controller.dart index 4701d5a42..e2ed57ce0 100644 --- a/lib/features/base/base_mailbox_controller.dart +++ b/lib/features/base/base_mailbox_controller.dart @@ -444,6 +444,10 @@ abstract class BaseMailboxController extends BaseController { textContent: AppLocalizations.of(context).message_confirmation_dialog_delete_folder(presentationMailbox.getDisplayName(context)), confirmText: AppLocalizations.of(context).delete, cancelText: AppLocalizations.of(context).cancel, + cancelBackgroundButtonColor: AppColor.blue700, + cancelLabelButtonColor: Colors.white, + confirmBackgroundButtonColor: AppColor.grayBackgroundColor, + confirmLabelButtonColor: AppColor.steelGray600, onConfirmButtonAction: () => onDeleteMailboxAction(presentationMailbox), onCancelButtonAction: popBack, onCloseButtonAction: popBack, diff --git a/lib/features/base/mixin/mailbox_action_handler_mixin.dart b/lib/features/base/mixin/mailbox_action_handler_mixin.dart index 4e383276b..48ccd9dea 100644 --- a/lib/features/base/mixin/mailbox_action_handler_mixin.dart +++ b/lib/features/base/mixin/mailbox_action_handler_mixin.dart @@ -86,6 +86,10 @@ mixin MailboxActionHandlerMixin { confirmText: AppLocalizations.of(context).delete, cancelText: AppLocalizations.of(context).cancel, useIconAsBasicLogo: true, + cancelBackgroundButtonColor: AppColor.blue700, + cancelLabelButtonColor: Colors.white, + confirmBackgroundButtonColor: AppColor.grayBackgroundColor, + confirmLabelButtonColor: AppColor.steelGray600, onCloseButtonAction: popBack, onConfirmButtonAction: () { popBack(); @@ -149,6 +153,10 @@ mixin MailboxActionHandlerMixin { confirmText: AppLocalizations.of(context).delete_all, cancelText: AppLocalizations.of(context).cancel, useIconAsBasicLogo: true, + cancelBackgroundButtonColor: AppColor.blue700, + cancelLabelButtonColor: Colors.white, + confirmBackgroundButtonColor: AppColor.grayBackgroundColor, + confirmLabelButtonColor: AppColor.steelGray600, onCloseButtonAction: popBack, onConfirmButtonAction: () { popBack(); diff --git a/lib/features/base/mixin/message_dialog_action_mixin.dart b/lib/features/base/mixin/message_dialog_action_mixin.dart index a6d437e5d..03cb15771 100644 --- a/lib/features/base/mixin/message_dialog_action_mixin.dart +++ b/lib/features/base/mixin/message_dialog_action_mixin.dart @@ -38,6 +38,8 @@ mixin MessageDialogActionMixin { TextStyle? cancelStyle, Color? actionButtonColor, Color? cancelButtonColor, + Color? cancelLabelButtonColor, + Color? confirmLabelButtonColor, EdgeInsetsGeometry? marginIcon, EdgeInsetsGeometry? paddingButton, PopInvokedWithResultCallback? onPopInvoked, @@ -63,8 +65,10 @@ mixin MessageDialogActionMixin { confirmText: actionName, cancelText: hasCancelButton ? cancelTitle ?? AppLocalizations.of(context).cancel : '', iconWidget: icon, - colorCancelButton: cancelButtonColor, - colorConfirmButton: actionButtonColor, + cancelBackgroundButtonColor: cancelButtonColor, + confirmBackgroundButtonColor: actionButtonColor, + cancelLabelButtonColor: cancelLabelButtonColor, + confirmLabelButtonColor: confirmLabelButtonColor, styleTextCancelButton: cancelStyle, styleTextConfirmButton: actionStyle, styleTitle: titleStyle, @@ -108,8 +112,10 @@ mixin MessageDialogActionMixin { title: title ?? '', iconWidget: icon, widthDialog: responsiveUtils.getSizeScreenWidth(context), - colorConfirmButton: actionButtonColor, - colorCancelButton: cancelButtonColor, + confirmBackgroundButtonColor: actionButtonColor, + cancelBackgroundButtonColor: cancelButtonColor, + cancelLabelButtonColor: cancelLabelButtonColor, + confirmLabelButtonColor: confirmLabelButtonColor, styleContent: messageStyle, styleTitle: titleStyle, styleTextCancelButton: cancelStyle, @@ -179,8 +185,10 @@ mixin MessageDialogActionMixin { title: title ?? '', textContent: message, iconWidget: icon, - colorConfirmButton: actionButtonColor, - colorCancelButton: cancelButtonColor, + confirmBackgroundButtonColor: actionButtonColor, + cancelBackgroundButtonColor: cancelButtonColor, + cancelLabelButtonColor: cancelLabelButtonColor, + confirmLabelButtonColor: confirmLabelButtonColor, styleContent: messageStyle, styleTitle: titleStyle, styleTextCancelButton: cancelStyle, diff --git a/lib/features/composer/presentation/composer_controller.dart b/lib/features/composer/presentation/composer_controller.dart index 85ed7322a..1ddb3c5cd 100644 --- a/lib/features/composer/presentation/composer_controller.dart +++ b/lib/features/composer/presentation/composer_controller.dart @@ -1007,6 +1007,10 @@ class ComposerController extends BaseController onCancelAction: popBack, autoPerformPopBack: false, title: AppLocalizations.of(context).empty_subject, + cancelButtonColor: AppColor.blue700, + cancelLabelButtonColor: Colors.white, + actionButtonColor: AppColor.grayBackgroundColor, + confirmLabelButtonColor: AppColor.steelGray600, showAsBottomSheet: true, icon: SvgPicture.asset(imagePaths.icEmpty, fit: BoxFit.fill), ).whenComplete(() => _sendButtonState = ButtonState.enabled); diff --git a/lib/features/email/presentation/controller/single_email_controller.dart b/lib/features/email/presentation/controller/single_email_controller.dart index 42eac7f7a..74bc0f5e8 100644 --- a/lib/features/email/presentation/controller/single_email_controller.dart +++ b/lib/features/email/presentation/controller/single_email_controller.dart @@ -1500,6 +1500,10 @@ class SingleEmailController extends BaseController with AppLoaderMixin { textContent: DeleteActionType.single.getContentDialog(context), confirmText: DeleteActionType.single.getConfirmActionName(context), cancelText: AppLocalizations.of(context).cancel, + cancelBackgroundButtonColor: AppColor.blue700, + cancelLabelButtonColor: Colors.white, + confirmBackgroundButtonColor: AppColor.grayBackgroundColor, + confirmLabelButtonColor: AppColor.steelGray600, onConfirmButtonAction: () => _deleteEmailPermanentlyAction(context, email), onCancelButtonAction: popBack, onCloseButtonAction: popBack, diff --git a/lib/features/mailbox/presentation/mailbox_controller.dart b/lib/features/mailbox/presentation/mailbox_controller.dart index 26604aaf8..66e3edb37 100644 --- a/lib/features/mailbox/presentation/mailbox_controller.dart +++ b/lib/features/mailbox/presentation/mailbox_controller.dart @@ -1074,6 +1074,10 @@ class MailboxController extends BaseMailboxController imagePath: imagePaths, useIconAsBasicLogo: true, title: AppLocalizations.of(context).deleteFolders, + cancelBackgroundButtonColor: AppColor.blue700, + cancelLabelButtonColor: Colors.white, + confirmBackgroundButtonColor: AppColor.grayBackgroundColor, + confirmLabelButtonColor: AppColor.steelGray600, textContent: AppLocalizations.of(context).messageConfirmationDialogDeleteMultipleFolder(selectedMailboxList.length), onConfirmButtonAction: () => _deleteMultipleMailboxAction(selectedMailboxList), onCancelButtonAction: popBack, diff --git a/lib/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart b/lib/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart index f1bf6d464..48766eec4 100644 --- a/lib/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart +++ b/lib/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart @@ -1564,6 +1564,10 @@ class MailboxDashBoardController extends ReloadableController ), confirmText: actionType.getConfirmActionName(context), cancelText: AppLocalizations.of(context).cancel, + cancelBackgroundButtonColor: AppColor.blue700, + cancelLabelButtonColor: Colors.white, + confirmBackgroundButtonColor: AppColor.grayBackgroundColor, + confirmLabelButtonColor: AppColor.steelGray600, onConfirmButtonAction: () => _deleteSelectionEmailsPermanentlyAction( actionType, listEmails: listEmails, @@ -2704,6 +2708,10 @@ class MailboxDashBoardController extends ReloadableController textContent: AppLocalizations.of(context).emptySpamMessageDialog, confirmText: AppLocalizations.of(context).delete_all, cancelText: AppLocalizations.of(context).cancel, + cancelBackgroundButtonColor: AppColor.blue700, + cancelLabelButtonColor: Colors.white, + confirmBackgroundButtonColor: AppColor.grayBackgroundColor, + confirmLabelButtonColor: AppColor.steelGray600, onConfirmButtonAction: () { popBack(); if (spamMailbox.countTotalEmails > 0) { diff --git a/lib/features/manage_account/presentation/email_rules/email_rules_controller.dart b/lib/features/manage_account/presentation/email_rules/email_rules_controller.dart index 2b4a19b4c..7efe726d6 100644 --- a/lib/features/manage_account/presentation/email_rules/email_rules_controller.dart +++ b/lib/features/manage_account/presentation/email_rules/email_rules_controller.dart @@ -175,6 +175,10 @@ class EmailRulesController extends BaseController { textContent: AppLocalizations.of(context).messageConfirmationDialogDeleteEmailRule(emailRule.name), confirmText: AppLocalizations.of(context).delete, cancelText: AppLocalizations.of(context).cancel, + cancelBackgroundButtonColor: AppColor.blue700, + cancelLabelButtonColor: Colors.white, + confirmBackgroundButtonColor: AppColor.grayBackgroundColor, + confirmLabelButtonColor: AppColor.steelGray600, onConfirmButtonAction: () => _handleDeleteEmailRuleAction(emailRule), onCancelButtonAction: popBack, onCloseButtonAction: popBack, diff --git a/lib/features/manage_account/presentation/forward/forward_controller.dart b/lib/features/manage_account/presentation/forward/forward_controller.dart index 641ac625d..e53acdb0c 100644 --- a/lib/features/manage_account/presentation/forward/forward_controller.dart +++ b/lib/features/manage_account/presentation/forward/forward_controller.dart @@ -1,3 +1,4 @@ +import 'package:core/presentation/extensions/color_extension.dart'; import 'package:core/presentation/state/failure.dart'; import 'package:core/presentation/state/success.dart'; import 'package:core/presentation/utils/keyboard_utils.dart'; @@ -122,6 +123,10 @@ class ForwardController extends BaseController { onConfirmAction: () => _handleDeleteRecipientAction({emailAddress}), showAsBottomSheet: true, useIconAsBasicLogo: true, + cancelButtonColor: AppColor.blue700, + cancelLabelButtonColor: Colors.white, + actionButtonColor: AppColor.grayBackgroundColor, + confirmLabelButtonColor: AppColor.steelGray600, ); } @@ -204,6 +209,10 @@ class ForwardController extends BaseController { onConfirmAction: () => _handleDeleteRecipientAction(listEmailAddress), showAsBottomSheet: true, useIconAsBasicLogo: true, + cancelButtonColor: AppColor.blue700, + cancelLabelButtonColor: Colors.white, + actionButtonColor: AppColor.grayBackgroundColor, + confirmLabelButtonColor: AppColor.steelGray600, ); } diff --git a/lib/features/manage_account/presentation/forward/widgets/autocomplete_contact_text_field_with_tags.dart b/lib/features/manage_account/presentation/forward/widgets/autocomplete_contact_text_field_with_tags.dart index 554380f93..4cccb8ae9 100644 --- a/lib/features/manage_account/presentation/forward/widgets/autocomplete_contact_text_field_with_tags.dart +++ b/lib/features/manage_account/presentation/forward/widgets/autocomplete_contact_text_field_with_tags.dart @@ -449,6 +449,10 @@ class _AutocompleteContactTextFieldWithTagsState extends State _deleteEmailPermanentlyAction(context, email), onCancelButtonAction: popBack, onCloseButtonAction: popBack, diff --git a/lib/features/upload/presentation/controller/upload_controller.dart b/lib/features/upload/presentation/controller/upload_controller.dart index 30b7b828c..4e4d8ad67 100644 --- a/lib/features/upload/presentation/controller/upload_controller.dart +++ b/lib/features/upload/presentation/controller/upload_controller.dart @@ -388,6 +388,10 @@ class UploadController extends BaseController { AppLocalizations.of(context).warningMessageWhenExceedGenerallySizeInComposer, AppLocalizations.of(context).continueAction, cancelTitle: AppLocalizations.of(context).cancel, + cancelButtonColor: AppColor.blue700, + cancelLabelButtonColor: Colors.white, + actionButtonColor: AppColor.grayBackgroundColor, + confirmLabelButtonColor: AppColor.steelGray600, alignCenter: true, onConfirmAction: confirmAction, icon: SvgPicture.asset(