TF-3410 Update confirm dialog

Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
dab246
2025-01-09 01:43:13 +07:00
committed by Dat H. Pham
parent 352681b60e
commit 700e8bc479
20 changed files with 240 additions and 288 deletions
-1
View File
@@ -241,7 +241,6 @@ abstract class BaseController extends GetxController
alignCenter: true,
outsideDismissible: false,
titleActionButtonMaxLines: 1,
marginIcon: EdgeInsetsDirectional.zero,
icon: SvgPicture.asset(imagePaths.icTMailLogo, width: 64, height: 64),
onConfirmAction: _performSaveAndReconnection,
onCancelAction: _performReconnection,
@@ -8,7 +8,6 @@ import 'package:core/presentation/views/modal_sheets/edit_text_modal_sheet_build
import 'package:core/utils/app_logger.dart';
import 'package:core/utils/platform_info.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:get/get.dart';
import 'package:jmap_dart_client/jmap/account_id.dart';
import 'package:jmap_dart_client/jmap/core/properties/properties.dart';
@@ -437,17 +436,10 @@ abstract class BaseMailboxController extends BaseController {
} else {
Get.dialog(
PointerInterceptor(
child: (ConfirmDialogBuilder(imagePaths)
child: (ConfirmDialogBuilder(imagePaths, useIconAsBasicLogo: true)
..key(const Key('confirm_dialog_delete_mailbox'))
..title(AppLocalizations.of(context).deleteFolders)
..content(AppLocalizations.of(context).message_confirmation_dialog_delete_folder(presentationMailbox.getDisplayName(context)))
..addIcon(SvgPicture.asset(imagePaths.icRemoveDialog, fit: BoxFit.fill))
..colorConfirmButton(AppColor.colorConfirmActionDialog)
..styleTextConfirmButton(const TextStyle(
fontSize: 17,
fontWeight: FontWeight.w500,
color: AppColor.colorActionDeleteConfirmDialog
))
..onCloseButtonAction(() => popBack())
..onConfirmButtonAction(AppLocalizations.of(context).delete, () => onDeleteMailboxAction(presentationMailbox))
..onCancelButtonAction(AppLocalizations.of(context).cancel, () => popBack())
@@ -19,12 +19,6 @@ mixin LogoutMixin implements MessageDialogActionMixin {
alignCenter: true,
outsideDismissible: false,
titleActionButtonMaxLines: 1,
titlePadding: const EdgeInsetsDirectional.only(
start: 24,
top: 24,
end: 24,
bottom: 12,
),
messageStyle: const TextStyle(
color: AppColor.colorTextBody,
fontSize: 15,
@@ -6,7 +6,6 @@ import 'package:core/presentation/utils/responsive_utils.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_svg/flutter_svg.dart';
import 'package:get/get.dart';
import 'package:model/extensions/presentation_mailbox_extension.dart';
import 'package:model/mailbox/presentation_mailbox.dart';
@@ -78,16 +77,10 @@ mixin MailboxActionHandlerMixin {
.show();
} else {
Get.dialog(
PointerInterceptor(child: (ConfirmDialogBuilder(imagePaths)
PointerInterceptor(child: (ConfirmDialogBuilder(imagePaths, useIconAsBasicLogo: true)
..key(const Key('confirm_dialog_empty_trash'))
..title(AppLocalizations.of(context).emptyTrash)
..content(AppLocalizations.of(context).empty_trash_dialog_message)
..addIcon(SvgPicture.asset(imagePaths.icRemoveDialog, fit: BoxFit.fill))
..colorConfirmButton(AppColor.colorConfirmActionDialog)
..styleTextConfirmButton(const TextStyle(
fontSize: 17,
fontWeight: FontWeight.w500,
color: AppColor.colorActionDeleteConfirmDialog))
..onCloseButtonAction(popBack)
..onConfirmButtonAction(AppLocalizations.of(context).delete, () {
popBack();
@@ -142,16 +135,10 @@ mixin MailboxActionHandlerMixin {
.show();
} else {
Get.dialog(
PointerInterceptor(child: (ConfirmDialogBuilder(imagePaths)
PointerInterceptor(child: (ConfirmDialogBuilder(imagePaths, useIconAsBasicLogo: true)
..key(const Key('confirm_dialog_empty_spam'))
..title(AppLocalizations.of(context).emptySpamFolder)
..content(AppLocalizations.of(context).emptySpamMessageDialog)
..addIcon(SvgPicture.asset(imagePaths.icRemoveDialog, fit: BoxFit.fill))
..colorConfirmButton(AppColor.colorConfirmActionDialog)
..styleTextConfirmButton(const TextStyle(
fontSize: 17,
fontWeight: FontWeight.w500,
color: AppColor.colorActionDeleteConfirmDialog))
..onCloseButtonAction(popBack)
..onConfirmButtonAction(AppLocalizations.of(context).delete_all, () {
popBack();
@@ -38,41 +38,42 @@ mixin MessageDialogActionMixin {
PopInvokedWithResultCallback? onPopInvoked,
bool isArrangeActionButtonsVertical = false,
int? titleActionButtonMaxLines,
EdgeInsetsGeometry? titlePadding,
bool useIconAsBasicLogo = false,
}
) async {
final responsiveUtils = Get.find<ResponsiveUtils>();
final imagePaths = Get.find<ImagePaths>();
final paddingTitle = titlePadding ??
(icon != null
? const EdgeInsetsDirectional.only(top: 24, start: 24, end: 24)
: const EdgeInsetsDirectional.symmetric(horizontal: 24));
if (alignCenter) {
final childWidget = PointerInterceptor(
child: (ConfirmDialogBuilder(
imagePaths,
listTextSpan: listTextSpan,
titleActionButtonMaxLines: titleActionButtonMaxLines,
isArrangeActionButtonsVertical: isArrangeActionButtonsVertical
isArrangeActionButtonsVertical: isArrangeActionButtonsVertical,
useIconAsBasicLogo: useIconAsBasicLogo,
)
..key(key)
..title(title ?? '')
..content(message)
..addIcon(icon)
..colorConfirmButton(actionButtonColor ?? AppColor.colorTextButton)
..colorCancelButton(cancelButtonColor ?? AppColor.colorCancelButton)
..marginIcon(icon != null ? (marginIcon ?? const EdgeInsets.only(top: 24)) : null)
..paddingTitle(paddingTitle)
..colorConfirmButton(actionButtonColor ?? AppColor.blue700)
..colorCancelButton(cancelButtonColor ?? AppColor.colorF3F6F9)
..radiusButton(12)
..paddingButton(paddingButton)
..paddingContent(const EdgeInsets.only(left: 24, right: 24, bottom: 24, top: 12))
..marginButton(hasCancelButton ? null : const EdgeInsets.only(bottom: 24, left: 24, right: 24))
..styleTitle(titleStyle ?? const TextStyle(fontSize: 20, fontWeight: FontWeight.bold, color: Colors.black))
..styleContent(messageStyle ?? const TextStyle(fontSize: 14, fontWeight: FontWeight.normal, color: AppColor.colorContentEmail))
..styleTextCancelButton(cancelStyle ?? const TextStyle(fontSize: 17, fontWeight: FontWeight.w500, color: AppColor.colorTextButton))
..styleTextConfirmButton(actionStyle ?? const TextStyle(fontSize: 17, fontWeight: FontWeight.w500, color: Colors.white))
..styleTitle(titleStyle)
..styleContent(messageStyle)
..styleTextCancelButton(cancelStyle ?? const TextStyle(
fontSize: 17,
height: 24 / 17,
fontWeight: FontWeight.w500,
color: AppColor.steelGray600,
))
..styleTextConfirmButton(actionStyle ?? const TextStyle(
fontSize: 17,
height: 24 / 17,
fontWeight: FontWeight.w500,
color: Colors.white,
))
..onConfirmButtonAction(actionName, () {
if (autoPerformPopBack) {
popBack();
@@ -107,25 +108,30 @@ mixin MessageDialogActionMixin {
listTextSpan: listTextSpan,
maxWith: responsiveUtils.getSizeScreenShortestSide(context) - 16,
titleActionButtonMaxLines: titleActionButtonMaxLines,
isArrangeActionButtonsVertical: isArrangeActionButtonsVertical
isArrangeActionButtonsVertical: isArrangeActionButtonsVertical,
useIconAsBasicLogo: useIconAsBasicLogo,
)
..key(key)
..title(title ?? '')
..content(message)
..addIcon(icon)
..paddingButton(paddingButton)
..margin(const EdgeInsets.only(bottom: 42))
..widthDialog(responsiveUtils.getSizeScreenWidth(context))
..colorConfirmButton(actionButtonColor ?? AppColor.colorTextButton)
..colorCancelButton(cancelButtonColor ?? AppColor.colorCancelButton)
..paddingTitle(paddingTitle)
..marginIcon(EdgeInsets.zero)
..paddingContent(const EdgeInsets.only(left: 44, right: 44, bottom: 24, top: 12))
..marginButton(hasCancelButton ? null : const EdgeInsets.only(bottom: 16, left: 44, right: 44))
..styleTitle(titleStyle ?? const TextStyle(fontSize: 20, fontWeight: FontWeight.bold, color: Colors.black))
..styleContent(messageStyle ?? const TextStyle(fontSize: 14, fontWeight: FontWeight.normal, color: AppColor.colorContentEmail))
..styleTextCancelButton(cancelStyle ?? const TextStyle(fontSize: 17, fontWeight: FontWeight.w500, color: AppColor.colorTextButton))
..styleTextConfirmButton(actionStyle ?? const TextStyle(fontSize: 17, fontWeight: FontWeight.w500, color: Colors.white))
..colorConfirmButton(actionButtonColor ?? AppColor.blue700)
..colorCancelButton(cancelButtonColor ?? AppColor.colorF3F6F9)
..styleTitle(titleStyle)
..styleContent(messageStyle)
..styleTextCancelButton(cancelStyle ?? const TextStyle(
fontSize: 17,
height: 24 / 17,
fontWeight: FontWeight.w500,
color: AppColor.steelGray600,
))
..styleTextConfirmButton(actionStyle ?? const TextStyle(
fontSize: 17,
height: 24 / 17,
fontWeight: FontWeight.w500,
color: Colors.white,
))
..onConfirmButtonAction(actionName, () {
if (autoPerformPopBack) {
popBack();
@@ -185,24 +191,29 @@ mixin MessageDialogActionMixin {
imagePaths,
listTextSpan: listTextSpan,
titleActionButtonMaxLines: titleActionButtonMaxLines,
isArrangeActionButtonsVertical: isArrangeActionButtonsVertical
isArrangeActionButtonsVertical: isArrangeActionButtonsVertical,
useIconAsBasicLogo: useIconAsBasicLogo,
)
..key(key)
..title(title ?? '')
..content(message)
..addIcon(icon)
..paddingButton(paddingButton)
..colorConfirmButton(actionButtonColor ?? AppColor.colorTextButton)
..colorCancelButton(cancelButtonColor ?? AppColor.colorCancelButton)
..marginIcon(icon != null ? const EdgeInsets.only(top: 24) : null)
..paddingTitle(paddingTitle)
..marginIcon(EdgeInsets.zero)
..paddingContent(const EdgeInsets.only(left: 44, right: 44, bottom: 24, top: 12))
..marginButton(hasCancelButton ? null : const EdgeInsets.only(bottom: 16, left: 44, right: 44))
..styleTitle(titleStyle ?? const TextStyle(fontSize: 20, fontWeight: FontWeight.bold, color: Colors.black))
..styleContent(messageStyle ?? const TextStyle(fontSize: 14, fontWeight: FontWeight.normal, color: AppColor.colorContentEmail))
..styleTextCancelButton(cancelStyle ?? const TextStyle(fontSize: 17, fontWeight: FontWeight.w500, color: AppColor.colorTextButton))
..styleTextConfirmButton(actionStyle ?? const TextStyle(fontSize: 17, fontWeight: FontWeight.w500, color: Colors.white))
..colorConfirmButton(actionButtonColor ?? AppColor.blue700)
..colorCancelButton(cancelButtonColor ?? AppColor.colorF3F6F9)
..styleTitle(titleStyle)
..styleContent(messageStyle)
..styleTextCancelButton(cancelStyle ?? const TextStyle(
fontSize: 17,
height: 24 / 17,
fontWeight: FontWeight.w500,
color: AppColor.steelGray600,
))
..styleTextConfirmButton(actionStyle ?? const TextStyle(
fontSize: 17,
height: 24 / 17,
fontWeight: FontWeight.w500,
color: Colors.white,
))
..onConfirmButtonAction(actionName, () {
if (autoPerformPopBack) {
popBack();