formattedLastMessage method
Implementation
String formattedLastMessage({
String? sender,
bool isTyping = false,
String Function(String key, String value)? formatter,
}) {
if (isTyping) return 'Typing...';
final isMe = lastMessageSenderId == me;
if (isMe && lastMessageStatus == MessageStatus.sending.name) {
return 'Sending...';
}
final resolvedSender = sender ?? '';
if (lastMessageDeleted) {
return '${isMe ? 'You' : resolvedSender} deleted a message';
}
String msg = lastMessage ?? '';
if (formatter != null) {
if (msg.contains('{SENDER_OR_EMPTY}')) {
msg = formatter('{SENDER_OR_EMPTY}', msg);
}
if (msg.contains('{SENDER}')) {
msg = formatter('{SENDER}', msg);
}
return msg;
}
return msg
.replaceAll('{SENDER_OR_EMPTY}', isMe ? 'You: ' : '')
.replaceAll('{SENDER}', isMe ? 'You' : resolvedSender);
}