diff --git a/packages/flutter_chat/lib/src/config/chat_options.dart b/packages/flutter_chat/lib/src/config/chat_options.dart index f1daedd..7cf3a51 100644 --- a/packages/flutter_chat/lib/src/config/chat_options.dart +++ b/packages/flutter_chat/lib/src/config/chat_options.dart @@ -106,6 +106,7 @@ typedef SenderTitleResolver = String? Function(UserModel? user); typedef MessageThemeResolver = MessageTheme? Function( BuildContext context, MessageModel message, + MessageModel? previousMessage, UserModel? sender, ); @@ -246,6 +247,7 @@ class MessageTheme { MessageTheme? _defaultMessageThemeResolver( BuildContext context, MessageModel message, + MessageModel? previousMessage, UserModel? sender, ) => null; 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 da0576d..dd55e24 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 @@ -53,10 +53,11 @@ class DefaultChatMessageBuilder extends StatelessWidget { required BuildContext context, required ChatOptions options, required MessageModel message, + required MessageModel? previousMessage, required UserModel? user, }) => [ - options.messageThemeResolver(context, message, user), + options.messageThemeResolver(context, message, previousMessage, user), options.messageTheme, MessageTheme.fromTheme(Theme.of(context)), ].whereType().reduce((value, element) => value | element); @@ -71,6 +72,7 @@ class DefaultChatMessageBuilder extends StatelessWidget { context: context, options: options, message: message, + previousMessage: previousMessage, user: sender, );