expose systemMessageBuilder in messagelistview
This commit is contained in:
@@ -28,6 +28,10 @@ typedef ParentMessageBuilder = Widget Function(
|
|||||||
BuildContext,
|
BuildContext,
|
||||||
Message,
|
Message,
|
||||||
);
|
);
|
||||||
|
typedef SystemMessageBuilder = Widget Function(
|
||||||
|
BuildContext,
|
||||||
|
Message,
|
||||||
|
);
|
||||||
typedef ThreadBuilder = Widget Function(BuildContext context, Message parent);
|
typedef ThreadBuilder = Widget Function(BuildContext context, Message parent);
|
||||||
typedef ThreadTapCallback = void Function(Message, Widget);
|
typedef ThreadTapCallback = void Function(Message, Widget);
|
||||||
|
|
||||||
@@ -128,6 +132,7 @@ class MessageListView extends StatefulWidget {
|
|||||||
this.showConnectionStateTile = false,
|
this.showConnectionStateTile = false,
|
||||||
this.loadingBuilder,
|
this.loadingBuilder,
|
||||||
this.emptyBuilder,
|
this.emptyBuilder,
|
||||||
|
this.systemMessageBuilder,
|
||||||
this.messageListBuilder,
|
this.messageListBuilder,
|
||||||
this.errorWidgetBuilder,
|
this.errorWidgetBuilder,
|
||||||
this.customAttachmentBuilders,
|
this.customAttachmentBuilders,
|
||||||
@@ -136,6 +141,9 @@ class MessageListView extends StatefulWidget {
|
|||||||
/// Function used to build a custom message widget
|
/// Function used to build a custom message widget
|
||||||
final MessageBuilder messageBuilder;
|
final MessageBuilder messageBuilder;
|
||||||
|
|
||||||
|
/// Function used to build a custom system message widget
|
||||||
|
final SystemMessageBuilder systemMessageBuilder;
|
||||||
|
|
||||||
/// Function used to build a custom parent message widget
|
/// Function used to build a custom parent message widget
|
||||||
final ParentMessageBuilder parentMessageBuilder;
|
final ParentMessageBuilder parentMessageBuilder;
|
||||||
|
|
||||||
@@ -813,10 +821,11 @@ class _MessageListViewState extends State<MessageListView> {
|
|||||||
int index,
|
int index,
|
||||||
) {
|
) {
|
||||||
if (message.type == 'system' && message.text?.isNotEmpty == true) {
|
if (message.type == 'system' && message.text?.isNotEmpty == true) {
|
||||||
return SystemMessage(
|
return widget.systemMessageBuilder?.call(context, message) ??
|
||||||
key: ValueKey<String>('MESSAGE-${message.id}'),
|
SystemMessage(
|
||||||
message: message,
|
key: ValueKey<String>('MESSAGE-${message.id}'),
|
||||||
);
|
message: message,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
final userId = StreamChat.of(context).user.id;
|
final userId = StreamChat.of(context).user.id;
|
||||||
|
|||||||
Reference in New Issue
Block a user