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
@@ -168,16 +168,17 @@ class EmailRulesController extends BaseController {
} else {
Get.dialog(
PointerInterceptor(
child: (ConfirmDialogBuilder(imagePaths, useIconAsBasicLogo: true)
..title(AppLocalizations.of(context).deleteEmailRule)
..content(AppLocalizations.of(context).messageConfirmationDialogDeleteEmailRule(emailRule.name))
..onCloseButtonAction(() => popBack())
..onConfirmButtonAction(AppLocalizations.of(context).delete, () {
_handleDeleteEmailRuleAction(emailRule);
})
..onCancelButtonAction(AppLocalizations.of(context).cancel, () =>
popBack()))
.build()
child: ConfirmationDialogBuilder(
imagePath: imagePaths,
useIconAsBasicLogo: true,
title: AppLocalizations.of(context).deleteEmailRule,
textContent: AppLocalizations.of(context).messageConfirmationDialogDeleteEmailRule(emailRule.name),
confirmText: AppLocalizations.of(context).delete,
cancelText: AppLocalizations.of(context).cancel,
onConfirmButtonAction: () => _handleDeleteEmailRuleAction(emailRule),
onCancelButtonAction: popBack,
onCloseButtonAction: popBack,
),
),
barrierColor: AppColor.colorDefaultCupertinoActionSheet,
);
@@ -1,7 +1,8 @@
import 'package:core/core.dart';
import 'package:core/presentation/state/success.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:tmail_ui_user/features/base/mixin/app_loader_mixin.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/base/setting_detail_view_builder.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/email_rules/email_rules_controller.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/email_rules/widgets/email_rules_header_widget.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/email_rules/widgets/list_email_rules_widget.dart';
@@ -13,15 +14,16 @@ class EmailRulesView extends GetWidget<EmailRulesController> with AppLoaderMixin
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: controller.responsiveUtils.isWebDesktop(context)
? AppColor.colorBgDesktop
: Colors.white,
body: Container(
width: double.infinity,
margin: SettingsUtils.getMarginViewForSettingDetails(context, controller.responsiveUtils),
child: SingleChildScrollView(
physics: const ClampingScrollPhysics(),
return SettingDetailViewBuilder(
responsiveUtils: controller.responsiveUtils,
backgroundColor: Colors.transparent,
child: SingleChildScrollView(
physics: const ClampingScrollPhysics(),
child: Padding(
padding: SettingsUtils.getSettingContentWithoutHeaderPadding(
context,
controller.responsiveUtils,
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
@@ -30,7 +32,7 @@ class EmailRulesView extends GetWidget<EmailRulesController> with AppLoaderMixin
responsiveUtils: controller.responsiveUtils,
createRule: () => controller.goToCreateNewRule(context),
),
SizedBox(height: controller.responsiveUtils.isWebDesktop(context) ? 24 : 16),
const SizedBox(height: 16),
_buildLoadingView(),
const ListEmailRulesWidget()
],
@@ -3,6 +3,9 @@ import 'package:core/presentation/resources/image_paths.dart';
import 'package:core/presentation/utils/responsive_utils.dart';
import 'package:core/presentation/views/button/tmail_button_widget.dart';
import 'package:flutter/material.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/model/account_menu_item.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/widgets/setting_explanation_widget.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/widgets/setting_header_widget.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
class EmailRulesHeaderWidget extends StatelessWidget {
@@ -21,26 +24,23 @@ class EmailRulesHeaderWidget extends StatelessWidget {
Widget build(BuildContext context) {
return Container(
width: double.infinity,
padding: const EdgeInsets.all(24),
decoration: BoxDecoration(
decoration: const BoxDecoration(
color: AppColor.colorBackgroundWrapIconStyleCode,
borderRadius: BorderRadius.circular(16),
borderRadius: BorderRadius.all(Radius.circular(16)),
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
if (responsiveUtils.isWebDesktop(context))
const SettingHeaderWidget(menuItem: AccountMenuItem.emailRules)
else
const SettingExplanationWidget(menuItem: AccountMenuItem.emailRules),
Padding(
padding: const EdgeInsets.all(16),
child: _buildButtonAddNewRule(context),
),
],
),
child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
Text(AppLocalizations.of(context).emailRules,
style: const TextStyle(
fontSize: 17,
fontWeight: FontWeight.bold,
color: Colors.black)),
const SizedBox(height: 4),
Text(AppLocalizations.of(context).emailRuleSettingExplanation,
style: const TextStyle(
fontSize: 15,
fontWeight: FontWeight.normal,
color: AppColor.colorTextButtonHeaderThread)),
const SizedBox(height: 24),
_buildButtonAddNewRule(context),
]),
);
}
@@ -45,7 +45,13 @@ class ListEmailRulesWidget extends GetWidget<EmailRulesController> {
fontWeight: FontWeight.w500,
color: AppColor.colorTextButtonHeaderThread)),
),
const Divider(),
Obx(() {
if (controller.listEmailRule.isNotEmpty) {
return const Divider();
} else {
return const SizedBox.shrink();
}
}),
Obx(() {
log('ListEmailRulesWidget::build(): ${controller.listEmailRule}');
return ListView.separated(