TF-3864 Support pasting address with display name

Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
dab246
2025-07-30 15:19:19 +07:00
committed by Dat H. Pham
parent 7f195a5422
commit f1ae5b58b2
7 changed files with 132 additions and 17 deletions
+13
View File
@@ -3,6 +3,7 @@ import 'dart:typed_data';
import 'package:core/utils/app_logger.dart';
import 'package:core/domain/exceptions/string_exception.dart';
import 'package:core/utils/mail/named_address.dart';
import 'package:html/parser.dart';
import 'package:http_parser/http_parser.dart';
@@ -137,4 +138,16 @@ class StringConvert {
log('StringConvert::isTextTable:isMarkdown = $isMarkdown | isAscii = $isAsciiArt');
return isMarkdown || isAsciiArt;
}
static NamedAddress? parseNamedAddress(String input) {
final regex = RegExp(r'''^(['"])(.+?)\1\s*<([^>\s]+)>$''');
final match = regex.firstMatch(input.trim());
if (match != null) {
final name = match.group(2)!;
final address = match.group(3)!;
return NamedAddress(name: name, address: address);
}
return null;
}
}