TF-3410 Use TextTheme apply almost text style for text widget

Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
dab246
2025-03-10 02:18:34 +07:00
committed by Dat H. Pham
parent efe1c801c1
commit a258dec4ee
87 changed files with 1774 additions and 1776 deletions
+13 -8
View File
@@ -436,14 +436,19 @@ abstract class BaseMailboxController extends BaseController {
} else {
Get.dialog(
PointerInterceptor(
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)))
..onCloseButtonAction(() => popBack())
..onConfirmButtonAction(AppLocalizations.of(context).delete, () => onDeleteMailboxAction(presentationMailbox))
..onCancelButtonAction(AppLocalizations.of(context).cancel, () => popBack())
).build()),
child: ConfirmationDialogBuilder(
key: const Key('confirm_dialog_delete_mailbox'),
imagePath: imagePaths,
useIconAsBasicLogo: true,
title: AppLocalizations.of(context).deleteFolders,
textContent: AppLocalizations.of(context).message_confirmation_dialog_delete_folder(presentationMailbox.getDisplayName(context)),
confirmText: AppLocalizations.of(context).delete,
cancelText: AppLocalizations.of(context).cancel,
onConfirmButtonAction: () => onDeleteMailboxAction(presentationMailbox),
onCancelButtonAction: popBack,
onCloseButtonAction: popBack,
),
),
barrierColor: AppColor.colorDefaultCupertinoActionSheet,
);
}
+5 -9
View File
@@ -1,4 +1,5 @@
import 'package:core/presentation/extensions/color_extension.dart';
import 'package:core/presentation/utils/theme_utils.dart';
import 'package:flutter/material.dart';
import 'package:tmail_ui_user/features/base/mixin/message_dialog_action_mixin.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
@@ -19,19 +20,14 @@ mixin LogoutMixin implements MessageDialogActionMixin {
alignCenter: true,
outsideDismissible: false,
titleActionButtonMaxLines: 1,
messageStyle: const TextStyle(
color: AppColor.colorTextBody,
fontSize: 15,
fontWeight: FontWeight.w400,
),
messageStyle: ThemeUtils.textStyleBodyBody2(color: AppColor.steelGray400),
listTextSpan: [
TextSpan(text: AppLocalizations.of(context).messageConfirmationLogout),
TextSpan(
text: ' $userAddress',
style: Theme.of(context).textTheme.bodyLarge?.copyWith(
color: AppColor.colorTextBody,
fontSize: 15,
fontWeight: FontWeight.bold,
style: ThemeUtils.textStyleBodyBody2(
color: AppColor.steelGray400,
fontWeight: FontWeight.w700,
),
),
const TextSpan(text: '?'),
@@ -77,27 +77,32 @@ mixin MailboxActionHandlerMixin {
.show();
} else {
Get.dialog(
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)
..onCloseButtonAction(popBack)
..onConfirmButtonAction(AppLocalizations.of(context).delete, () {
popBack();
if (mailbox.countTotalEmails > 0) {
dashboardController.emptyTrashFolderAction(
trashFolderId: mailbox.id,
totalEmails: mailbox.countTotalEmails,
);
} else {
appToast.showToastWarningMessage(
context,
AppLocalizations.of(context).noEmailInYourCurrentFolder
);
}
})
..onCancelButtonAction(AppLocalizations.of(context).cancel, popBack))
.build()
PointerInterceptor(
child: ConfirmationDialogBuilder(
key: const Key('confirm_dialog_empty_trash'),
imagePath: imagePaths,
title: AppLocalizations.of(context).emptyTrash,
textContent: AppLocalizations.of(context).empty_trash_dialog_message,
confirmText: AppLocalizations.of(context).delete,
cancelText: AppLocalizations.of(context).cancel,
useIconAsBasicLogo: true,
onCloseButtonAction: popBack,
onConfirmButtonAction: () {
popBack();
if (mailbox.countTotalEmails > 0) {
dashboardController.emptyTrashFolderAction(
trashFolderId: mailbox.id,
totalEmails: mailbox.countTotalEmails
);
} else {
appToast.showToastWarningMessage(
context,
AppLocalizations.of(context).noEmailInYourCurrentFolder
);
}
},
onCancelButtonAction: popBack,
),
),
barrierColor: AppColor.colorDefaultCupertinoActionSheet,
);
@@ -135,24 +140,30 @@ mixin MailboxActionHandlerMixin {
.show();
} else {
Get.dialog(
PointerInterceptor(child: (ConfirmDialogBuilder(imagePaths, useIconAsBasicLogo: true)
..key(const Key('confirm_dialog_empty_spam'))
..title(AppLocalizations.of(context).emptySpamFolder)
..content(AppLocalizations.of(context).emptySpamMessageDialog)
..onCloseButtonAction(popBack)
..onConfirmButtonAction(AppLocalizations.of(context).delete_all, () {
popBack();
if (mailbox.countTotalEmails > 0) {
dashboardController.emptySpamFolderAction(spamFolderId: mailbox.id, totalEmails: mailbox.countTotalEmails);
} else {
appToast.showToastWarningMessage(
context,
AppLocalizations.of(context).noEmailInYourCurrentFolder
);
}
})
..onCancelButtonAction(AppLocalizations.of(context).cancel, popBack)
).build()),
PointerInterceptor(
child: ConfirmationDialogBuilder(
key: const Key('confirm_dialog_empty_spam'),
imagePath: imagePaths,
title: AppLocalizations.of(context).emptySpamFolder,
textContent: AppLocalizations.of(context).emptySpamMessageDialog,
confirmText: AppLocalizations.of(context).delete_all,
cancelText: AppLocalizations.of(context).cancel,
useIconAsBasicLogo: true,
onCloseButtonAction: popBack,
onConfirmButtonAction: () {
popBack();
if (mailbox.countTotalEmails > 0) {
dashboardController.emptySpamFolderAction(spamFolderId: mailbox.id, totalEmails: mailbox.countTotalEmails);
} else {
appToast.showToastWarningMessage(
context,
AppLocalizations.of(context).noEmailInYourCurrentFolder
);
}
},
onCancelButtonAction: popBack,
),
),
barrierColor: AppColor.colorDefaultCupertinoActionSheet,
);
}
@@ -1,5 +1,10 @@
import 'package:core/core.dart';
import 'package:core/presentation/extensions/color_extension.dart';
import 'package:core/presentation/resources/image_paths.dart';
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:core/utils/platform_info.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:pointer_interceptor/pointer_interceptor.dart';
@@ -46,51 +51,40 @@ mixin MessageDialogActionMixin {
if (alignCenter) {
final childWidget = PointerInterceptor(
child: (ConfirmDialogBuilder(
imagePaths,
listTextSpan: listTextSpan,
titleActionButtonMaxLines: titleActionButtonMaxLines,
isArrangeActionButtonsVertical: isArrangeActionButtonsVertical,
useIconAsBasicLogo: useIconAsBasicLogo,
)
..key(key)
..title(title ?? '')
..content(message)
..addIcon(icon)
..colorConfirmButton(actionButtonColor ?? AppColor.blue700)
..colorCancelButton(cancelButtonColor ?? AppColor.colorF3F6F9)
..radiusButton(12)
..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, () {
child: ConfirmationDialogBuilder(
key: key,
imagePath: imagePaths,
listTextSpan: listTextSpan,
titleActionButtonMaxLines: titleActionButtonMaxLines,
isArrangeActionButtonsVertical: isArrangeActionButtonsVertical,
useIconAsBasicLogo: useIconAsBasicLogo,
title: title ?? '',
textContent: message,
confirmText: actionName,
cancelText: hasCancelButton ? cancelTitle ?? AppLocalizations.of(context).cancel : '',
iconWidget: icon,
colorCancelButton: cancelButtonColor,
colorConfirmButton: actionButtonColor,
styleTextCancelButton: cancelStyle,
styleTextConfirmButton: actionStyle,
styleTitle: titleStyle,
styleContent: messageStyle,
paddingButton: paddingButton,
marginIcon: marginIcon,
onConfirmButtonAction: () {
if (autoPerformPopBack) {
popBack();
}
onConfirmAction?.call();
})
..onCancelButtonAction(
hasCancelButton ? cancelTitle ?? AppLocalizations.of(context).cancel : '',
() {
if (autoPerformPopBack) {
popBack();
}
onCancelAction?.call();
}
)
..onCloseButtonAction(onCloseButtonAction)
).build()
},
onCancelButtonAction: () {
if (autoPerformPopBack) {
popBack();
}
onCancelAction?.call();
},
onCloseButtonAction: onCloseButtonAction,
),
);
return await Get.dialog(
usePopScope && PlatformInfo.isMobile
@@ -102,53 +96,41 @@ mixin MessageDialogActionMixin {
} else {
if (responsiveUtils.isMobile(context)) {
final childWidget = PointerInterceptor(
child: (ConfirmDialogBuilder(
imagePaths,
showAsBottomSheet: true,
listTextSpan: listTextSpan,
maxWith: responsiveUtils.getSizeScreenShortestSide(context) - 16,
titleActionButtonMaxLines: titleActionButtonMaxLines,
isArrangeActionButtonsVertical: isArrangeActionButtonsVertical,
useIconAsBasicLogo: useIconAsBasicLogo,
)
..key(key)
..title(title ?? '')
..content(message)
..addIcon(icon)
..widthDialog(responsiveUtils.getSizeScreenWidth(context))
..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, () {
child: ConfirmationDialogBuilder(
key: key,
imagePath: imagePaths,
showAsBottomSheet: true,
listTextSpan: listTextSpan,
maxWidth: responsiveUtils.getSizeScreenShortestSide(context) - 16,
titleActionButtonMaxLines: titleActionButtonMaxLines,
isArrangeActionButtonsVertical: isArrangeActionButtonsVertical,
textContent: message,
title: title ?? '',
iconWidget: icon,
widthDialog: responsiveUtils.getSizeScreenWidth(context),
colorConfirmButton: actionButtonColor,
colorCancelButton: cancelButtonColor,
styleContent: messageStyle,
styleTitle: titleStyle,
styleTextCancelButton: cancelStyle,
styleTextConfirmButton: actionStyle,
confirmText: actionName,
cancelText: hasCancelButton ? cancelTitle ?? AppLocalizations.of(context).cancel : '',
useIconAsBasicLogo: useIconAsBasicLogo,
onConfirmButtonAction: () {
if (autoPerformPopBack) {
popBack();
}
onConfirmAction?.call();
})
..onCancelButtonAction(
hasCancelButton ? cancelTitle ?? AppLocalizations.of(context).cancel : '',
() {
if (autoPerformPopBack) {
popBack();
}
onCancelAction?.call();
}
)
..onCloseButtonAction(onCloseButtonAction ?? () => popBack())
).build()
},
onCancelButtonAction: () {
if (autoPerformPopBack) {
popBack();
}
onCancelAction?.call();
},
onCloseButtonAction: onCloseButtonAction ?? popBack
),
);
if (showAsBottomSheet) {
return await Get.bottomSheet(
@@ -166,7 +148,7 @@ mixin MessageDialogActionMixin {
} else {
return (ConfirmationDialogActionSheetBuilder(context, listTextSpan: listTextSpan)
..messageText(message)
..styleConfirmButton(const TextStyle(fontSize: 20, fontWeight: FontWeight.normal, color: Colors.black))
..styleConfirmButton(actionStyle)
..styleMessage(messageStyle)
..styleCancelButton(cancelStyle)
..onCancelAction(
@@ -187,50 +169,39 @@ mixin MessageDialogActionMixin {
}
} else {
final childWidget = PointerInterceptor(
child: (ConfirmDialogBuilder(
imagePaths,
listTextSpan: listTextSpan,
titleActionButtonMaxLines: titleActionButtonMaxLines,
isArrangeActionButtonsVertical: isArrangeActionButtonsVertical,
useIconAsBasicLogo: useIconAsBasicLogo,
)
..key(key)
..title(title ?? '')
..content(message)
..addIcon(icon)
..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, () {
child: ConfirmationDialogBuilder(
key: key,
imagePath: imagePaths,
listTextSpan: listTextSpan,
titleActionButtonMaxLines: titleActionButtonMaxLines,
isArrangeActionButtonsVertical: isArrangeActionButtonsVertical,
useIconAsBasicLogo: useIconAsBasicLogo,
title: title ?? '',
textContent: message,
iconWidget: icon,
colorConfirmButton: actionButtonColor,
colorCancelButton: cancelButtonColor,
styleContent: messageStyle,
styleTitle: titleStyle,
styleTextCancelButton: cancelStyle,
styleTextConfirmButton: actionStyle,
confirmText: actionName,
cancelText: hasCancelButton ? cancelTitle ?? AppLocalizations.of(context).cancel : '',
onConfirmButtonAction: () {
if (autoPerformPopBack) {
popBack();
}
onConfirmAction?.call();
})
..onCancelButtonAction(
hasCancelButton ? cancelTitle ?? AppLocalizations.of(context).cancel : '',
() {
if (autoPerformPopBack) {
popBack();
}
onCancelAction?.call();
}
)
..onCloseButtonAction(onCloseButtonAction ?? () => popBack())
).build()
},
onCancelButtonAction: () {
if (autoPerformPopBack) {
popBack();
} else {
onCancelAction?.call();
}
},
onCloseButtonAction: onCloseButtonAction ?? popBack,
),
);
return await Get.dialog(
usePopScope && PlatformInfo.isMobile
@@ -42,10 +42,8 @@ class _ApplicationVersionWidgetState extends State<ApplicationVersionWidget> {
child: Text(
'${widget.title ?? 'v.'}${snapshot.data}',
textAlign: TextAlign.center,
style: widget.textStyle ?? Theme.of(context).textTheme.labelMedium?.copyWith(
fontSize: 13,
color: AppColor.colorContentEmail,
fontWeight: FontWeight.w500
style: widget.textStyle ?? Theme.of(context).textTheme.bodySmall?.copyWith(
color: AppColor.steelGray400,
),
),
);