feat: add previousMessage to the messageThemeResolver

This commit is contained in:
Freek van de Ven 2025-02-20 14:14:35 +01:00 committed by FlutterJoey
parent 11d8c81161
commit a1fc65aba2
2 changed files with 5 additions and 1 deletions

View file

@ -106,6 +106,7 @@ typedef SenderTitleResolver = String? Function(UserModel? user);
typedef MessageThemeResolver = MessageTheme? Function( typedef MessageThemeResolver = MessageTheme? Function(
BuildContext context, BuildContext context,
MessageModel message, MessageModel message,
MessageModel? previousMessage,
UserModel? sender, UserModel? sender,
); );
@ -246,6 +247,7 @@ class MessageTheme {
MessageTheme? _defaultMessageThemeResolver( MessageTheme? _defaultMessageThemeResolver(
BuildContext context, BuildContext context,
MessageModel message, MessageModel message,
MessageModel? previousMessage,
UserModel? sender, UserModel? sender,
) => ) =>
null; null;

View file

@ -53,10 +53,11 @@ class DefaultChatMessageBuilder extends StatelessWidget {
required BuildContext context, required BuildContext context,
required ChatOptions options, required ChatOptions options,
required MessageModel message, required MessageModel message,
required MessageModel? previousMessage,
required UserModel? user, required UserModel? user,
}) => }) =>
[ [
options.messageThemeResolver(context, message, user), options.messageThemeResolver(context, message, previousMessage, user),
options.messageTheme, options.messageTheme,
MessageTheme.fromTheme(Theme.of(context)), MessageTheme.fromTheme(Theme.of(context)),
].whereType<MessageTheme>().reduce((value, element) => value | element); ].whereType<MessageTheme>().reduce((value, element) => value | element);
@ -71,6 +72,7 @@ class DefaultChatMessageBuilder extends StatelessWidget {
context: context, context: context,
options: options, options: options,
message: message, message: message,
previousMessage: previousMessage,
user: sender, user: sender,
); );