From c82df25aed98da02d73647f834ae5214a93cecb2 Mon Sep 17 00:00:00 2001 From: Freek van de Ven Date: Tue, 18 Feb 2025 16:07:21 +0100 Subject: [PATCH] feat: pass showFullDate to dateformatter for the messageTime --- .../chat_detail/widgets/default_message_builder.dart | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/flutter_chat/lib/src/screens/chat_detail/widgets/default_message_builder.dart b/packages/flutter_chat/lib/src/screens/chat_detail/widgets/default_message_builder.dart index 7064f90..a76ec91 100644 --- a/packages/flutter_chat/lib/src/screens/chat_detail/widgets/default_message_builder.dart +++ b/packages/flutter_chat/lib/src/screens/chat_detail/widgets/default_message_builder.dart @@ -82,6 +82,7 @@ class DefaultChatMessageBuilder extends StatelessWidget { var chatMessage = _ChatMessageBubble( isSameSender: isSameSender, isMessageFromSelf: isMessageFromSelf, + previousMessage: previousMessage, message: message, messageTheme: messageTheme, sender: sender, @@ -121,6 +122,7 @@ class _ChatMessageBubble extends StatelessWidget { required this.isSameSender, required this.isMessageFromSelf, required this.message, + required this.previousMessage, required this.messageTheme, required this.sender, }); @@ -128,6 +130,7 @@ class _ChatMessageBubble extends StatelessWidget { final bool isSameSender; final bool isMessageFromSelf; final MessageModel message; + final MessageModel? previousMessage; final MessageTheme messageTheme; final UserModel? sender; @@ -138,7 +141,13 @@ class _ChatMessageBubble extends StatelessWidget { var options = ChatScope.of(context).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( sender?.firstName ?? "",