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
@@ -1552,23 +1552,26 @@ class MailboxDashBoardController extends ReloadableController
.show();
} else {
Get.dialog(
PointerInterceptor(child: (ConfirmDialogBuilder(imagePaths, useIconAsBasicLogo: true)
..key(const Key('confirm_dialog_delete_emails_permanently'))
..title(actionType.getTitleDialog(context))
..content(actionType.getContentDialog(
context,
count: listEmails?.length,
mailboxName: mailboxCurrent?.getDisplayName(context)))
..onCloseButtonAction(() => popBack())
..onConfirmButtonAction(
actionType.getConfirmActionName(context),
() => _deleteSelectionEmailsPermanentlyAction(
actionType,
listEmails: listEmails,
onCancelSelectionEmail: onCancelSelectionEmail))
..onCancelButtonAction(AppLocalizations.of(context).cancel, () => popBack()))
.build()
),
PointerInterceptor(child: ConfirmationDialogBuilder(
key: const Key('confirm_dialog_delete_emails_permanently'),
imagePath: imagePaths,
useIconAsBasicLogo: true,
title: actionType.getTitleDialog(context),
textContent: actionType.getContentDialog(
context,
count: listEmails?.length,
mailboxName: mailboxCurrent?.getDisplayName(context),
),
confirmText: actionType.getConfirmActionName(context),
cancelText: AppLocalizations.of(context).cancel,
onConfirmButtonAction: () => _deleteSelectionEmailsPermanentlyAction(
actionType,
listEmails: listEmails,
onCancelSelectionEmail: onCancelSelectionEmail,
),
onCancelButtonAction: popBack,
onCloseButtonAction: popBack,
)),
barrierColor: AppColor.colorDefaultCupertinoActionSheet,
);
}
@@ -2693,24 +2696,31 @@ class MailboxDashBoardController extends ReloadableController
.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, () {
PointerInterceptor(child: ConfirmationDialogBuilder(
key: const Key('confirm_dialog_empty_spam'),
imagePath: imagePaths,
useIconAsBasicLogo: true,
title: AppLocalizations.of(context).emptySpamFolder,
textContent: AppLocalizations.of(context).emptySpamMessageDialog,
confirmText: AppLocalizations.of(context).delete_all,
cancelText: AppLocalizations.of(context).cancel,
onConfirmButtonAction: () {
popBack();
if (spamMailbox.countTotalEmails > 0) {
emptySpamFolderAction(spamFolderId: spamMailbox.id, totalEmails: spamMailbox.countTotalEmails);
emptySpamFolderAction(
spamFolderId: spamMailbox.id,
totalEmails: spamMailbox.countTotalEmails,
);
} else {
appToast.showToastWarningMessage(
context,
AppLocalizations.of(context).noEmailInYourCurrentFolder
AppLocalizations.of(context).noEmailInYourCurrentFolder,
);
}
})
..onCancelButtonAction(AppLocalizations.of(context).cancel, popBack)
).build()),
},
onCancelButtonAction: popBack,
onCloseButtonAction: popBack,
)),
barrierColor: AppColor.colorDefaultCupertinoActionSheet,
);
}
@@ -3119,8 +3129,6 @@ class MailboxDashBoardController extends ReloadableController
isRecoveringDeletedMessage.value = true;
}
String get userEmail => sessionCurrent?.getOwnEmailAddress() ?? '';
Future<void> _removeComposerCacheOnWeb() async {
await _removeComposerCacheOnWebInteractor.execute();
}
@@ -3224,6 +3232,15 @@ class MailboxDashBoardController extends ReloadableController
}
}
String getOwnEmailAddress() {
try {
return sessionCurrent?.getOwnEmailAddress() ?? '';
} catch (e) {
logError('ManageAccountDashBoardController::getOwnEmailAddress:Exception: $e');
return '';
}
}
@override
void onClose() {
if (PlatformInfo.isWeb) {
@@ -6,7 +6,6 @@ import 'package:flutter_svg/flutter_svg.dart';
import 'package:get/get.dart';
import 'package:model/extensions/presentation_mailbox_extension.dart';
import 'package:model/extensions/session_extension.dart';
import 'package:model/extensions/username_extension.dart';
import 'package:tmail_ui_user/features/base/widget/popup_item_no_icon_widget.dart';
import 'package:tmail_ui_user/features/base/widget/scrollbar_list_view.dart';
import 'package:tmail_ui_user/features/composer/presentation/composer_view_web.dart';
@@ -65,21 +64,22 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView {
child: Column(children: [
Obx(() {
final accountId = controller.accountId.value;
if (accountId == null) {
return const SizedBox.shrink();
} else {
return NavigationBarWidget(
imagePaths: controller.imagePaths,
avatarUserName: controller.sessionCurrent?.username.firstCharacter ?? '',
contactSupportCapability: controller.sessionCurrent?.getContactSupportCapability(accountId),
searchForm: SearchInputFormWidget(),
appGridController: controller.appGridDashboardController,
onTapApplicationLogoAction: controller.redirectToInboxAction,
onTapAvatarAction: (position) => controller.handleClickAvatarAction(context, position),
onTapContactSupportAction: (contactSupport) =>
return NavigationBarWidget(
imagePaths: controller.imagePaths,
accountId: accountId,
avatarUserName: controller.getOwnEmailAddress().firstCharacterToUpperCase,
contactSupportCapability: accountId != null
? controller.sessionCurrent?.getContactSupportCapability(accountId)
: null,
searchForm: SearchInputFormWidget(),
appGridController: controller.appGridDashboardController,
onTapApplicationLogoAction: controller.redirectToInboxAction,
onTapAvatarAction: (position) =>
controller.handleClickAvatarAction(context, position),
onTapContactSupportAction: (contactSupport) =>
controller.onGetHelpOrReportBug(contactSupport),
);
}
);
}),
Expanded(child: Row(children: [
Column(children: [
@@ -2,6 +2,7 @@
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/utils/theme_utils.dart';
import 'package:core/presentation/views/button/tmail_button_widget.dart';
import 'package:flutter/material.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
@@ -37,11 +38,7 @@ class ComposeButtonWidget extends StatelessWidget {
iconColor: Colors.white,
padding: const EdgeInsetsDirectional.symmetric(vertical: 8),
backgroundColor: AppColor.blue700,
textStyle: const TextStyle(
fontSize: 15,
color: Colors.white,
fontWeight: FontWeight.w500,
),
textStyle: ThemeUtils.textStyleBodyBody2(color: Colors.white),
onTapActionCallback: onTapAction,
),
);
@@ -5,6 +5,7 @@ import 'package:core/presentation/views/button/tmail_button_widget.dart';
import 'package:core/presentation/views/image/avatar_builder.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:jmap_dart_client/jmap/account_id.dart';
import 'package:model/support/contact_support_capability.dart';
import 'package:tmail_ui_user/features/base/mixin/contact_support_mixin.dart';
import 'package:tmail_ui_user/features/base/widget/application_logo_with_text_widget.dart';
@@ -16,6 +17,7 @@ import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
class NavigationBarWidget extends StatelessWidget {
final ImagePaths imagePaths;
final AccountId? accountId;
final String avatarUserName;
final ContactSupportCapability? contactSupportCapability;
final Widget? searchForm;
@@ -27,6 +29,7 @@ class NavigationBarWidget extends StatelessWidget {
const NavigationBarWidget({
super.key,
required this.imagePaths,
required this.accountId,
required this.avatarUserName,
this.contactSupportCapability,
this.searchForm,
@@ -83,22 +86,23 @@ class NavigationBarWidget extends StatelessWidget {
return const SizedBox.shrink();
}),
const SizedBox(width: 16),
(AvatarBuilder()
..text(avatarUserName)
..backgroundColor(Colors.white)
..textColor(Colors.black)
..context(context)
..size(48)
..addOnTapAvatarActionWithPositionClick(onTapAvatarAction)
..addBoxShadows([
const BoxShadow(
color: AppColor.colorShadowBgContentEmail,
spreadRadius: 1,
blurRadius: 1,
offset: Offset(0, 0.5)
)
])
).build()
if (accountId != null)
(AvatarBuilder()
..text(avatarUserName)
..backgroundColor(Colors.white)
..textColor(Colors.black)
..context(context)
..size(48)
..addOnTapAvatarActionWithPositionClick(onTapAvatarAction)
..addBoxShadows([
const BoxShadow(
color: AppColor.colorShadowBgContentEmail,
spreadRadius: 1,
blurRadius: 1,
offset: Offset(0, 0.5)
)
])
).build()
]
);
}))
@@ -125,22 +129,23 @@ class NavigationBarWidget extends StatelessWidget {
return const SizedBox.shrink();
}),
const SizedBox(width: 16),
(AvatarBuilder()
..text(avatarUserName)
..backgroundColor(Colors.white)
..textColor(Colors.black)
..context(context)
..size(48)
..addOnTapAvatarActionWithPositionClick(onTapAvatarAction)
..addBoxShadows([
const BoxShadow(
color: AppColor.colorShadowBgContentEmail,
spreadRadius: 1,
blurRadius: 1,
offset: Offset(0, 0.5)
)
])
).build()
if (accountId != null)
(AvatarBuilder()
..text(avatarUserName)
..backgroundColor(Colors.white)
..textColor(Colors.black)
..context(context)
..size(48)
..addOnTapAvatarActionWithPositionClick(onTapAvatarAction)
..addBoxShadows([
const BoxShadow(
color: AppColor.colorShadowBgContentEmail,
spreadRadius: 1,
blurRadius: 1,
offset: Offset(0, 0.5)
)
])
).build()
]
]),
);