Use fontFamily for all style in Text widget

Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
dab246
2025-07-15 09:26:07 +07:00
committed by Dat H. Pham
parent 991ab686a4
commit a9a322818a
186 changed files with 717 additions and 443 deletions
@@ -81,7 +81,7 @@ class AttachmentItemWidget extends StatelessWidget {
? ExtendedText(
(attachment.name ?? ''),
maxLines: 1,
overflowWidget: const TextOverflowWidget(
overflowWidget: TextOverflowWidget(
position: TextOverflowPosition.middle,
clearType: TextOverflowClearType.clipRect,
child: Text(
@@ -68,7 +68,7 @@ class AttachmentListItemWidget extends StatelessWidget {
ExtendedText(
(attachment.name ?? ''),
maxLines: 1,
overflowWidget: const TextOverflowWidget(
overflowWidget: TextOverflowWidget(
position: TextOverflowPosition.middle,
clearType: TextOverflowClearType.clipRect,
child: Text(
@@ -1,6 +1,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:core/utils/platform_info.dart';
import 'package:flutter/material.dart';
@@ -44,7 +45,7 @@ class AttachmentsInfo extends StatelessWidget {
numberOfAttachments,
totalSizeInfo,
),
style: const TextStyle(
style: ThemeUtils.defaultTextStyleInterFont.copyWith(
fontSize: EmailAttachmentsStyles.headerTextSize,
fontWeight: EmailAttachmentsStyles.headerFontWeight,
color: EmailAttachmentsStyles.headerTextColor
@@ -58,7 +59,7 @@ class AttachmentsInfo extends StatelessWidget {
backgroundColor: Colors.transparent,
borderRadius: EmailAttachmentsStyles.buttonBorderRadius,
padding: EmailAttachmentsStyles.buttonPadding,
textStyle: const TextStyle(
textStyle: ThemeUtils.defaultTextStyleInterFont.copyWith(
fontSize: EmailAttachmentsStyles.buttonTextSize,
color: EmailAttachmentsStyles.buttonTextColor,
fontWeight: EmailAttachmentsStyles.buttonFontWeight
@@ -77,7 +78,7 @@ class AttachmentsInfo extends StatelessWidget {
backgroundColor: Colors.transparent,
borderRadius: EmailAttachmentsStyles.buttonBorderRadius,
padding: EmailAttachmentsStyles.buttonPadding,
textStyle: const TextStyle(
textStyle: ThemeUtils.defaultTextStyleInterFont.copyWith(
fontSize: EmailAttachmentsStyles.buttonTextSize,
color: EmailAttachmentsStyles.buttonTextColor,
fontWeight: EmailAttachmentsStyles.buttonFontWeight
@@ -1,4 +1,5 @@
import 'package:core/presentation/utils/theme_utils.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:jmap_dart_client/jmap/mail/calendar/properties/attendee/calendar_attendee.dart';
@@ -23,7 +24,7 @@ class AttendeeWidget extends StatelessWidget {
Widget build(BuildContext context) {
return Text.rich(
TextSpan(
style: const TextStyle(
style: ThemeUtils.defaultTextStyleInterFont.copyWith(
fontSize: AttendeeWidgetStyles.textSize,
fontWeight: FontWeight.w500,
color: AttendeeWidgetStyles.textColor
@@ -34,7 +35,7 @@ class AttendeeWidget extends StatelessWidget {
if (attendee.mailto?.mailAddress.value.isNotEmpty == true)
TextSpan(
text: ' <${attendee.mailto!.mailAddress.value}> ',
style: const TextStyle(
style: ThemeUtils.defaultTextStyleInterFont.copyWith(
color: AttendeeWidgetStyles.mailtoColor,
fontSize: AttendeeWidgetStyles.textSize,
fontWeight: FontWeight.w500
@@ -1,5 +1,6 @@
import 'package:core/presentation/extensions/color_extension.dart';
import 'package:core/presentation/utils/theme_utils.dart';
import 'package:flutter/material.dart';
import 'package:jmap_dart_client/jmap/mail/calendar/calendar_event.dart';
import 'package:tmail_ui_user/features/email/presentation/extensions/calendar_event_extension.dart';
@@ -53,7 +54,7 @@ class CalendarDateIconWidget extends StatelessWidget {
child: Text(
calendarEvent.monthStartDateAsString,
textAlign: TextAlign.center,
style: const TextStyle(
style: ThemeUtils.defaultTextStyleInterFont.copyWith(
fontSize: CalendarIconWidgetStyles.headerTextSize,
fontWeight: FontWeight.w400,
color: Colors.white
@@ -64,7 +65,7 @@ class CalendarDateIconWidget extends StatelessWidget {
padding: const EdgeInsets.all(CalendarIconWidgetStyles.bodyContentPadding),
child: Text(
calendarEvent.dayStartDateAsString,
style: const TextStyle(
style: ThemeUtils.defaultTextStyleInterFont.copyWith(
fontSize: CalendarIconWidgetStyles.bodyDayTextSize,
fontWeight: FontWeight.w700,
color: Colors.black
@@ -79,7 +80,7 @@ class CalendarDateIconWidget extends StatelessWidget {
padding: const EdgeInsets.all(CalendarIconWidgetStyles.bodyContentPadding),
child: Text(
calendarEvent.weekDayStartDateAsString,
style: const TextStyle(
style: ThemeUtils.defaultTextStyleInterFont.copyWith(
fontSize: CalendarIconWidgetStyles.bodyWeekDayTextSize,
fontWeight: FontWeight.w400,
color: Colors.black
@@ -1,5 +1,6 @@
import 'package:core/presentation/resources/image_paths.dart';
import 'package:core/presentation/utils/theme_utils.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:get/get.dart';
@@ -46,7 +47,7 @@ class CalendarEventActionBannerWidget extends StatelessWidget {
),
Expanded(child: Text.rich(
TextSpan(
style: TextStyle(
style: ThemeUtils.defaultTextStyleInterFont.copyWith(
fontSize: CalendarEventActionBannerStyles.titleTextSize,
fontWeight: FontWeight.w400,
color: calendarEvent.getColorEventActionText(listEmailAddressSender)
@@ -58,7 +59,7 @@ class CalendarEventActionBannerWidget extends StatelessWidget {
imagePaths: imagePaths,
listEmailAddressSender: listEmailAddressSender
),
style: TextStyle(
style: ThemeUtils.defaultTextStyleInterFont.copyWith(
color: calendarEvent.getColorEventActionText(listEmailAddressSender),
fontSize: CalendarEventActionBannerStyles.titleTextSize,
fontWeight: FontWeight.w700
@@ -1,3 +1,4 @@
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:jmap_dart_client/jmap/mail/calendar/attendance/calendar_event_attendance.dart';
@@ -43,7 +44,7 @@ class CalendarEventActionButtonWidget extends StatelessWidget {
backgroundColor: _getButtonBackgroundColor(action),
borderRadius: CalendarEventActionButtonWidgetStyles.borderRadius,
padding: CalendarEventActionButtonWidgetStyles.buttonPadding,
textStyle: TextStyle(
textStyle: ThemeUtils.defaultTextStyleInterFont.copyWith(
fontWeight: CalendarEventActionButtonWidgetStyles.fontWeight,
fontSize: CalendarEventActionButtonWidgetStyles.textSize,
color: _getButtonTextColor(action),
@@ -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:jmap_dart_client/jmap/mail/calendar/calendar_event.dart';
import 'package:jmap_dart_client/jmap/mail/calendar/attendance/calendar_event_attendance.dart';
@@ -86,7 +87,7 @@ class CalendarEventInformationWidget extends StatelessWidget {
),
child: Text.rich(
TextSpan(
style: const TextStyle(
style: ThemeUtils.defaultTextStyleInterFont.copyWith(
fontSize: CalendarEventInformationWidgetStyles
.invitationMessageTextSize,
fontWeight: FontWeight.w500,
@@ -96,7 +97,7 @@ class CalendarEventInformationWidget extends StatelessWidget {
children: [
TextSpan(
text: calendarEvent.organizerName,
style: const TextStyle(
style: ThemeUtils.defaultTextStyleInterFont.copyWith(
color: CalendarEventInformationWidgetStyles
.invitationMessageColor,
fontSize: CalendarEventInformationWidgetStyles
@@ -159,7 +160,7 @@ class CalendarEventInformationWidget extends StatelessWidget {
AppLocalizations
.of(context)
.youAreNotInvitedToThisEventPleaseContactTheOrganizer,
style: const TextStyle(
style: ThemeUtils.defaultTextStyleInterFont.copyWith(
fontSize: CalendarEventInformationWidgetStyles
.invitationMessageTextSize,
fontWeight: FontWeight.w500,
@@ -1,4 +1,5 @@
import 'package:core/presentation/utils/theme_utils.dart';
import 'package:core/utils/app_logger.dart';
import 'package:flutter/material.dart';
import 'package:jmap_dart_client/jmap/mail/calendar/properties/attendee/calendar_attendee.dart';
@@ -53,7 +54,7 @@ class _EventAttendeeDetailWidgetState extends State<EventAttendeeDetailWidget> {
width: EventAttendeeDetailWidgetStyles.maxWidth,
child: Text(
AppLocalizations.of(context).who,
style: const TextStyle(
style: ThemeUtils.defaultTextStyleInterFont.copyWith(
fontSize: EventAttendeeDetailWidgetStyles.textSize,
fontWeight: FontWeight.w500,
color: EventAttendeeDetailWidgetStyles.labelColor
@@ -1,4 +1,5 @@
import 'package:core/presentation/utils/theme_utils.dart';
import 'package:flutter/material.dart';
import 'package:tmail_ui_user/features/base/widget/hyper_link_widget.dart';
import 'package:tmail_ui_user/features/email/presentation/styles/event_link_detail_widget_styles.dart';
@@ -22,7 +23,7 @@ class EventLinkDetailWidget extends StatelessWidget {
width: EventLinkDetailWidgetStyles.maxWidth,
child: Text(
AppLocalizations.of(context).link,
style: const TextStyle(
style: ThemeUtils.defaultTextStyleInterFont.copyWith(
fontSize: EventLinkDetailWidgetStyles.textSize,
fontWeight: FontWeight.w500,
color: EventLinkDetailWidgetStyles.labelColor
@@ -1,4 +1,5 @@
import 'package:core/presentation/utils/theme_utils.dart';
import 'package:core/utils/app_logger.dart';
import 'package:flutter/material.dart';
import 'package:flutter_linkify/flutter_linkify.dart';
@@ -28,7 +29,7 @@ class EventLocationInformationWidget extends StatelessWidget {
width: EventLocationInformationWidgetStyles.maxWidth,
child: Text(
AppLocalizations.of(context).where,
style: const TextStyle(
style: ThemeUtils.defaultTextStyleInterFont.copyWith(
fontSize: EventLocationInformationWidgetStyles.textSize,
fontWeight: FontWeight.w500,
color: EventLocationInformationWidgetStyles.labelColor
@@ -49,7 +50,7 @@ class EventLocationInformationWidget extends StatelessWidget {
EmailLinkifier(),
UrlLinkifier()
],
style: const TextStyle(
style: ThemeUtils.defaultTextStyleInterFont.copyWith(
fontSize: EventLocationInformationWidgetStyles.textSize,
fontWeight: FontWeight.w500,
color: EventLocationInformationWidgetStyles.valueColor
@@ -3,6 +3,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/style_utils.dart';
import 'package:core/presentation/utils/theme_utils.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:get/get.dart';
@@ -32,7 +33,7 @@ class EventTimeInformationWidget extends StatelessWidget {
width: EventTimeInformationWidgetStyles.maxWidth,
child: Text(
AppLocalizations.of(context).when,
style: const TextStyle(
style: ThemeUtils.defaultTextStyleInterFont.copyWith(
fontSize: EventTimeInformationWidgetStyles.textSize,
fontWeight: FontWeight.w500,
color: EventTimeInformationWidgetStyles.labelColor
@@ -44,7 +45,7 @@ class EventTimeInformationWidget extends StatelessWidget {
overflow: responsiveUtils.isPortraitMobile(context) ? null : CommonTextStyle.defaultTextOverFlow,
softWrap: responsiveUtils.isPortraitMobile(context) ? null : CommonTextStyle.defaultSoftWrap,
maxLines: responsiveUtils.isPortraitMobile(context) ? null : 1,
style: const TextStyle(
style: ThemeUtils.defaultTextStyleInterFont.copyWith(
fontSize: EventTimeInformationWidgetStyles.textSize,
fontWeight: FontWeight.w500,
color: EventTimeInformationWidgetStyles.valueColor
@@ -1,4 +1,5 @@
import 'package:core/presentation/utils/theme_utils.dart';
import 'package:flutter/material.dart';
import 'package:tmail_ui_user/features/email/presentation/styles/event_title_widget_styles.dart';
@@ -12,7 +13,7 @@ class EventTitleWidget extends StatelessWidget {
Widget build(BuildContext context) {
return Text(
title,
style: const TextStyle(
style: ThemeUtils.defaultTextStyleInterFont.copyWith(
fontWeight: FontWeight.w500,
fontSize: EventTitleWidgetStyles.textSize,
color: EventTitleWidgetStyles.textColor
@@ -1,4 +1,5 @@
import 'package:core/presentation/utils/theme_utils.dart';
import 'package:flutter/cupertino.dart';
import 'package:tmail_ui_user/features/base/widget/material_text_button.dart';
import 'package:tmail_ui_user/features/email/presentation/styles/see_all_attendees_button_widget_styles.dart';
@@ -25,7 +26,7 @@ class HideAllAttendeesButtonWidget extends StatelessWidget {
horizontal: SeeAllAttendeesButtonWidgetStyles.horizontalPadding,
vertical: SeeAllAttendeesButtonWidgetStyles.verticalPadding
),
customStyle: const TextStyle(
customStyle: ThemeUtils.defaultTextStyleInterFont.copyWith(
fontSize: SeeAllAttendeesButtonWidgetStyles.textSize,
color: SeeAllAttendeesButtonWidgetStyles.textColor
),
@@ -1,4 +1,5 @@
import 'package:core/presentation/utils/theme_utils.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:jmap_dart_client/jmap/mail/calendar/properties/calendar_organizer.dart';
@@ -22,7 +23,7 @@ class OrganizerWidget extends StatelessWidget {
Widget build(BuildContext context) {
return Text.rich(
TextSpan(
style: const TextStyle(
style: ThemeUtils.defaultTextStyleInterFont.copyWith(
fontSize: OrganizerWidgetStyles.textSize,
fontWeight: FontWeight.w500,
color: OrganizerWidgetStyles.textColor
@@ -33,7 +34,7 @@ class OrganizerWidget extends StatelessWidget {
if (organizer.mailto?.value.isNotEmpty == true)
TextSpan(
text: ' <${organizer.mailto!.value}> ',
style: const TextStyle(
style: ThemeUtils.defaultTextStyleInterFont.copyWith(
color: OrganizerWidgetStyles.mailtoColor,
fontSize: OrganizerWidgetStyles.textSize,
fontWeight: FontWeight.w500
@@ -1,4 +1,5 @@
import 'package:core/presentation/utils/theme_utils.dart';
import 'package:flutter/cupertino.dart';
import 'package:tmail_ui_user/features/base/widget/material_text_button.dart';
import 'package:tmail_ui_user/features/email/presentation/styles/see_all_attendees_button_widget_styles.dart';
@@ -25,7 +26,7 @@ class SeeAllAttendeesButtonWidget extends StatelessWidget {
horizontal: SeeAllAttendeesButtonWidgetStyles.horizontalPadding,
vertical: SeeAllAttendeesButtonWidgetStyles.verticalPadding
),
customStyle: const TextStyle(
customStyle: ThemeUtils.defaultTextStyleInterFont.copyWith(
fontSize: SeeAllAttendeesButtonWidgetStyles.textSize,
color: SeeAllAttendeesButtonWidgetStyles.textColor
),
@@ -1,6 +1,7 @@
import 'package:core/presentation/action/action_callback_define.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:core/utils/platform_info.dart';
import 'package:filesize/filesize.dart';
@@ -54,7 +55,7 @@ class EmailAttachmentsWidget extends StatelessWidget {
padding: padding,
maxWidth: EmailAttachmentsStyles.buttonMoreMaxWidth,
margin: margin,
textStyle: const TextStyle(
textStyle: ThemeUtils.defaultTextStyleInterFont.copyWith(
fontSize: EmailAttachmentsStyles.buttonMoreAttachmentsTextSize,
color: EmailAttachmentsStyles.buttonMoreAttachmentsTextColor,
fontWeight: EmailAttachmentsStyles.buttonMoreAttachmentsFontWeight,
@@ -152,7 +153,7 @@ class EmailAttachmentsWidget extends StatelessWidget {
backgroundColor: Colors.transparent,
borderRadius: EmailAttachmentsStyles.buttonBorderRadius,
padding: EmailAttachmentsStyles.mobileButtonPadding,
textStyle: const TextStyle(
textStyle: ThemeUtils.defaultTextStyleInterFont.copyWith(
fontSize: EmailAttachmentsStyles.buttonTextSize,
color: EmailAttachmentsStyles.buttonTextColor,
fontWeight: EmailAttachmentsStyles.buttonFontWeight
@@ -1,3 +1,4 @@
import 'package:core/presentation/utils/theme_utils.dart';
import 'package:flutter/material.dart';
import 'package:tmail_ui_user/features/email/presentation/styles/email_view_empty_styles.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
@@ -12,7 +13,7 @@ class EmailViewEmptyWidget extends StatelessWidget {
child: Text(
AppLocalizations.of(context).no_mail_selected,
textAlign: TextAlign.center,
style: const TextStyle(
style: ThemeUtils.defaultTextStyleInterFont.copyWith(
fontSize: EmailViewEmptyStyles.textSize,
color: EmailViewEmptyStyles.textColor,
fontWeight: EmailViewEmptyStyles.fontWeight
@@ -50,7 +50,7 @@ class FeedbackDraggableAttachmentItemWidget extends StatelessWidget {
child: ExtendedText(
attachment.name ?? '',
maxLines: 1,
overflowWidget: const TextOverflowWidget(
overflowWidget: TextOverflowWidget(
position: TextOverflowPosition.middle,
clearType: TextOverflowClearType.clipRect,
child: Text(
@@ -1,6 +1,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:flutter_svg/flutter_svg.dart';
@@ -82,7 +83,7 @@ class InformationSenderAndReceiverBuilder extends StatelessWidget {
if (!emailSelected.isSubscribed && emailUnsubscribe != null && !responsiveUtils.isPortraitMobile(context))
TMailButtonWidget.fromText(
text: AppLocalizations.of(context).unsubscribe,
textStyle: const TextStyle(
textStyle: ThemeUtils.defaultTextStyleInterFont.copyWith(
fontWeight: FontWeight.normal,
fontSize: 14,
color: AppColor.colorTextBody,
@@ -1,5 +1,6 @@
import 'package:core/presentation/extensions/color_extension.dart';
import 'package:core/presentation/utils/theme_utils.dart';
import 'package:flutter/material.dart';
import 'package:model/email/presentation_email.dart';
import 'package:tmail_ui_user/features/email/presentation/model/email_unsubscribe.dart';
@@ -22,7 +23,7 @@ class MailUnsubscribedBanner extends StatelessWidget {
padding: const EdgeInsetsDirectional.only(bottom: 16, start: 20, end: 20),
child: Text(
AppLocalizations.of(context).mailUnsubscribedMessage(presentationEmail?.firstEmailAddressInFrom ?? ''),
style: const TextStyle(
style: ThemeUtils.defaultTextStyleInterFont.copyWith(
fontWeight: FontWeight.normal,
fontSize: 15,
color: AppColor.labelColor