TF-3864 Support pasting multiple address with multiple format mixed

Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
dab246
2025-08-04 02:24:32 +07:00
committed by Dat H. Pham
parent f1ae5b58b2
commit aeeb47a6f8
11 changed files with 616 additions and 100 deletions
@@ -1,7 +1,25 @@
import 'package:core/utils/mail/mail_address.dart';
import 'package:core/utils/mail/named_address.dart';
import 'package:jmap_dart_client/jmap/mail/email/email_address.dart';
import 'package:tmail_ui_user/features/composer/presentation/extensions/mail_address_extension.dart';
extension NamedAddressExtension on NamedAddress {
bool get isValid => name.isNotEmpty && address.isNotEmpty;
String get normalizedAddress => address.toLowerCase();
EmailAddress toEmailAddress() => EmailAddress(name, address);
EmailAddress validateToEmailAddress() {
try {
if (isValid) {
return toEmailAddress();
} else {
final mailAddress = MailAddress.validateAddress(address);
return mailAddress.asEmailAddress();
}
} catch (_) {
return toEmailAddress();
}
}
}