Files
workavia-mail-front/model/lib/extensions/email_address_extension.dart
T
dab246 d7c4418674 TF-3758 Update mailbox app bar
Signed-off-by: dab246 <tdvu@linagora.com>
2025-06-12 14:02:58 +07:00

47 lines
1.4 KiB
Dart

import 'package:core/presentation/extensions/capitalize_extension.dart';
import 'package:core/presentation/extensions/string_extension.dart';
import 'package:flutter/material.dart';
import 'package:jmap_dart_client/jmap/mail/email/email_address.dart';
extension EmailAddressExtension on EmailAddress {
String asString() {
if (displayName.isNotEmpty) {
return displayName;
} else if (emailAddress.isNotEmpty) {
return emailAddress;
}
return '';
}
String asFullString() {
if (displayName.isNotEmpty) {
if (emailAddress.isNotEmpty) {
return '${displayName.capitalizeFirstEach} <$emailAddress>';
}
return displayName.capitalizeFirstEach;
} else if (emailAddress.isNotEmpty) {
return emailAddress;
}
return '';
}
String asFullStringWithLtGtCharacter() {
if (displayName.isNotEmpty && emailAddress.isNotEmpty) {
return '${displayName.capitalizeFirstEach} <$emailAddress>';
} else if (displayName.isNotEmpty) {
return displayName.capitalizeFirstEach;
} else if (emailAddress.isNotEmpty) {
return '<$emailAddress>';
}
return '';
}
String get emailAddress => email ?? '';
String get displayName => name ?? '';
String get labelAvatar => asString().isNotEmpty ? asString()[0].toUpperCase() : '';
List<Color> get avatarColors => emailAddress.gradientColors;
}