move messagewidget in the builder
This commit is contained in:
@@ -93,6 +93,7 @@ class ChannelPage extends StatelessWidget {
|
|||||||
BuildContext context,
|
BuildContext context,
|
||||||
MessageDetails details,
|
MessageDetails details,
|
||||||
List<Message> messages,
|
List<Message> messages,
|
||||||
|
MessageWidget _,
|
||||||
) {
|
) {
|
||||||
final message = details.message;
|
final message = details.message;
|
||||||
final isCurrentUser = StreamChat.of(context).user!.id == message.user!.id;
|
final isCurrentUser = StreamChat.of(context).user!.id == message.user!.id;
|
||||||
|
|||||||
@@ -19,10 +19,13 @@ import 'package:stream_chat_flutter_core/stream_chat_flutter_core.dart';
|
|||||||
import 'package:visibility_detector/visibility_detector.dart';
|
import 'package:visibility_detector/visibility_detector.dart';
|
||||||
|
|
||||||
/// Widget builder for message
|
/// Widget builder for message
|
||||||
|
/// [defaultMessageWidget] is the default [MessageWidget] configuration
|
||||||
|
/// Use [defaultMessageWidget.copyWith] to easily customize it
|
||||||
typedef MessageBuilder = Widget Function(
|
typedef MessageBuilder = Widget Function(
|
||||||
BuildContext,
|
BuildContext,
|
||||||
MessageDetails,
|
MessageDetails,
|
||||||
List<Message>,
|
List<Message>,
|
||||||
|
MessageWidget defaultMessageWidget,
|
||||||
);
|
);
|
||||||
|
|
||||||
/// Widget builder for parent message
|
/// Widget builder for parent message
|
||||||
@@ -63,7 +66,6 @@ class MessageDetails {
|
|||||||
this.message,
|
this.message,
|
||||||
List<Message> messages,
|
List<Message> messages,
|
||||||
this.index,
|
this.index,
|
||||||
this.defaultMessageWidget,
|
|
||||||
) {
|
) {
|
||||||
isMyMessage = message.user?.id == currentUserId;
|
isMyMessage = message.user?.id == currentUserId;
|
||||||
isLastUser = index + 1 < messages.length &&
|
isLastUser = index + 1 < messages.length &&
|
||||||
@@ -72,10 +74,6 @@ class MessageDetails {
|
|||||||
index - 1 >= 0 && message.user!.id == messages[index - 1].user?.id;
|
index - 1 >= 0 && message.user!.id == messages[index - 1].user?.id;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Default [MessageWidget] configuration
|
|
||||||
/// use [defaultMessageWidget.copyWith] to easily customize it
|
|
||||||
final MessageWidget defaultMessageWidget;
|
|
||||||
|
|
||||||
/// True if the message belongs to the current user
|
/// True if the message belongs to the current user
|
||||||
late final bool isMyMessage;
|
late final bool isMyMessage;
|
||||||
|
|
||||||
@@ -1082,9 +1080,9 @@ class _MessageListViewState extends State<MessageListView> {
|
|||||||
message,
|
message,
|
||||||
messages,
|
messages,
|
||||||
index,
|
index,
|
||||||
messageWidget as MessageWidget,
|
|
||||||
),
|
),
|
||||||
messages,
|
messages,
|
||||||
|
messageWidget as MessageWidget,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user