diff --git a/lib/features/composer/presentation/extensions/handle_recipients_collapsed_extensions.dart b/lib/features/composer/presentation/extensions/handle_recipients_collapsed_extensions.dart index dc5800c3e..45f5aed6b 100644 --- a/lib/features/composer/presentation/extensions/handle_recipients_collapsed_extensions.dart +++ b/lib/features/composer/presentation/extensions/handle_recipients_collapsed_extensions.dart @@ -19,7 +19,7 @@ extension HandleRecipientsCollapsedExtensions on ComposerController { bool get existEmailAddressInvalid => allListEmailAddress .any( - (emailAddress) => !EmailUtils.isEmailAddressValid( + (emailAddress) => !EmailUtils.isValidEmail( emailAddress.emailAddress, ), ); diff --git a/lib/features/composer/presentation/widgets/recipient_collapsed_item_widget.dart b/lib/features/composer/presentation/widgets/recipient_collapsed_item_widget.dart index f10cdccc5..d38df59f7 100644 --- a/lib/features/composer/presentation/widgets/recipient_collapsed_item_widget.dart +++ b/lib/features/composer/presentation/widgets/recipient_collapsed_item_widget.dart @@ -51,7 +51,7 @@ class RecipientCollapsedItemWidget extends StatelessWidget { } Color _getTagBackgroundColor() { - if (EmailUtils.isEmailAddressValid(emailAddress.emailAddress)) { + if (EmailUtils.isValidEmail(emailAddress.emailAddress)) { return AppColor.grayBackgroundColor; } else { return Colors.white; @@ -59,7 +59,7 @@ class RecipientCollapsedItemWidget extends StatelessWidget { } Border _getTagBorder() { - if (EmailUtils.isEmailAddressValid(emailAddress.emailAddress)) { + if (EmailUtils.isValidEmail(emailAddress.emailAddress)) { return Border.all( width: 1, color: AppColor.grayBackgroundColor, diff --git a/lib/features/composer/presentation/widgets/recipient_tag_item_widget.dart b/lib/features/composer/presentation/widgets/recipient_tag_item_widget.dart index 5163a37c3..1ddcb9e2d 100644 --- a/lib/features/composer/presentation/widgets/recipient_tag_item_widget.dart +++ b/lib/features/composer/presentation/widgets/recipient_tag_item_widget.dart @@ -170,7 +170,7 @@ class RecipientTagItemWidget extends StatelessWidget { Color _getTagBackgroundColor() { if (isTagFocused) { return AppColor.colorItemRecipientSelected; - } else if (EmailUtils.isEmailAddressValid(currentEmailAddress.emailAddress)) { + } else if (EmailUtils.isValidEmail(currentEmailAddress.emailAddress)) { return AppColor.grayBackgroundColor; } else { return Colors.white; @@ -183,7 +183,7 @@ class RecipientTagItemWidget extends StatelessWidget { width: 1, color: AppColor.primaryColor, ); - } else if (EmailUtils.isEmailAddressValid(currentEmailAddress.emailAddress)) { + } else if (EmailUtils.isValidEmail(currentEmailAddress.emailAddress)) { return Border.all( width: 1, color: AppColor.grayBackgroundColor, diff --git a/lib/features/email/presentation/utils/email_utils.dart b/lib/features/email/presentation/utils/email_utils.dart index 82ab96c61..428a2c46d 100644 --- a/lib/features/email/presentation/utils/email_utils.dart +++ b/lib/features/email/presentation/utils/email_utils.dart @@ -20,6 +20,7 @@ import 'package:tmail_ui_user/features/email/presentation/model/email_unsubscrib import 'package:tmail_ui_user/features/thread/domain/constants/thread_constants.dart'; import 'package:tmail_ui_user/main/error/capability_validator.dart'; import 'package:tmail_ui_user/main/routes/route_utils.dart'; +import 'package:tmail_ui_user/main/utils/app_utils.dart'; class EmailUtils { static const double desktopItemMaxWidth = 260; @@ -110,6 +111,15 @@ class EmailUtils { } } + static bool isValidEmail(String address) { + try { + return isEmailAddressValid(address) || + AppUtils.isEmailLocalhost(address); + } catch (_) { + return false; + } + } + static List extractMailtoLinksFromListPost(String listPost) { try { if (listPost.trim().isEmpty) return [];