Using SendingIndicatorWrapper instead of StreamSendingIndicator directly

This commit is contained in:
Leandro Borges Ferreira
2023-02-15 17:04:50 +01:00
parent ffd26a4574
commit 8405d8a919
@@ -6,6 +6,7 @@ import 'package:contextmenu/contextmenu.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:stream_chat_flutter/src/context_menu_items/stream_chat_context_menu_item.dart'; import 'package:stream_chat_flutter/src/context_menu_items/stream_chat_context_menu_item.dart';
import 'package:stream_chat_flutter/src/dialogs/dialogs.dart'; import 'package:stream_chat_flutter/src/dialogs/dialogs.dart';
import 'package:stream_chat_flutter/src/message_widget/sending_indicator_wrapper.dart';
import 'package:stream_chat_flutter/stream_chat_flutter.dart'; import 'package:stream_chat_flutter/stream_chat_flutter.dart';
/// {@template channelPreview} /// {@template channelPreview}
@@ -76,6 +77,7 @@ class ChannelPreview extends StatelessWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
final channelPreviewTheme = StreamChannelPreviewTheme.of(context); final channelPreviewTheme = StreamChannelPreviewTheme.of(context);
final streamChatState = StreamChat.of(context); final streamChatState = StreamChat.of(context);
final streamChatTheme = StreamChatTheme.of(context);
return BetterStreamBuilder<bool>( return BetterStreamBuilder<bool>(
stream: channel.isMutedStream, stream: channel.isMutedStream,
initialData: channel.isMuted, initialData: channel.isMuted,
@@ -292,20 +294,20 @@ class ChannelPreview extends StatelessWidget {
stream: channel.state?.readStream, stream: channel.state?.readStream,
initialData: channel.state?.read, initialData: channel.state?.read,
builder: (context, data) { builder: (context, data) {
final readList = data.where((it) =>
it.user.id != final hasNonUrlAttachments = lastMessage!
channel.client.state.currentUser?.id && .attachments
(it.lastRead .where((it) =>
.isAfter(lastMessage!.createdAt) || it.titleLink == null ||
it.lastRead.isAtSameMomentAs( it.type == 'giphy')
lastMessage.createdAt, .isNotEmpty;
)));
final isMessageRead = readList.length >= return SendingIndicatorWrapper(
(channel.memberCount ?? 0) - 1; messageTheme: streamChatTheme.ownMessageTheme,
return StreamSendingIndicator( message: lastMessage,
message: lastMessage!, hasNonUrlAttachments: hasNonUrlAttachments,
size: channelPreviewTheme.indicatorIconSize, streamChat: streamChatState,
isMessageRead: isMessageRead, streamChatTheme: streamChatTheme,
); );
}, },
), ),