feat: pass showFullDate to dateformatter for the messageTime

This commit is contained in:
Freek van de Ven 2025-02-18 16:07:21 +01:00 committed by FlutterJoey
parent 23f61dd5ff
commit c82df25aed

View file

@ -82,6 +82,7 @@ class DefaultChatMessageBuilder extends StatelessWidget {
var chatMessage = _ChatMessageBubble( var chatMessage = _ChatMessageBubble(
isSameSender: isSameSender, isSameSender: isSameSender,
isMessageFromSelf: isMessageFromSelf, isMessageFromSelf: isMessageFromSelf,
previousMessage: previousMessage,
message: message, message: message,
messageTheme: messageTheme, messageTheme: messageTheme,
sender: sender, sender: sender,
@ -121,6 +122,7 @@ class _ChatMessageBubble extends StatelessWidget {
required this.isSameSender, required this.isSameSender,
required this.isMessageFromSelf, required this.isMessageFromSelf,
required this.message, required this.message,
required this.previousMessage,
required this.messageTheme, required this.messageTheme,
required this.sender, required this.sender,
}); });
@ -128,6 +130,7 @@ class _ChatMessageBubble extends StatelessWidget {
final bool isSameSender; final bool isSameSender;
final bool isMessageFromSelf; final bool isMessageFromSelf;
final MessageModel message; final MessageModel message;
final MessageModel? previousMessage;
final MessageTheme messageTheme; final MessageTheme messageTheme;
final UserModel? sender; final UserModel? sender;
@ -138,7 +141,13 @@ class _ChatMessageBubble extends StatelessWidget {
var options = ChatScope.of(context).options; var options = ChatScope.of(context).options;
var dateFormatter = DateFormatter(options: options); var dateFormatter = DateFormatter(options: options);
var messageTime = dateFormatter.format(date: message.timestamp); var isNewDate = previousMessage != null &&
message.timestamp.day != previousMessage?.timestamp.day;
var messageTime = dateFormatter.format(
date: message.timestamp,
showFullDate: isNewDate || previousMessage == null,
);
var senderTitle = Text( var senderTitle = Text(
sender?.firstName ?? "", sender?.firstName ?? "",