Fixing logic for sending indicator
This commit is contained in:
@@ -65,10 +65,11 @@ class SendingIndicatorWrapper extends StatelessWidget {
|
||||
initialData: channel.state?.read,
|
||||
builder: (context, data) {
|
||||
final readList = data.where((it) =>
|
||||
it.user.id != streamChat.currentUser?.id &&
|
||||
it.user.id != streamChat.currentUser?.id &&
|
||||
(it.lastRead.isAfter(message.createdAt) ||
|
||||
it.lastRead.isAtSameMomentAs(message.createdAt)));
|
||||
final isMessageRead = readList.length >= (channel.memberCount ?? 0) - 1;
|
||||
|
||||
final isMessageRead = readList.isNotEmpty;
|
||||
Widget child = StreamSendingIndicator(
|
||||
message: message,
|
||||
isMessageRead: isMessageRead,
|
||||
|
||||
+8
-3
@@ -225,6 +225,13 @@ class StreamChannelListTile extends StatelessWidget {
|
||||
return const Offstage();
|
||||
}
|
||||
|
||||
final isLastMessageRead = channelState.read
|
||||
.where((readData) => readData.user.id != currentUser.id)
|
||||
.any((readData) =>
|
||||
readData.lastRead.isAfter(lastMessage.createdAt) ||
|
||||
readData.lastRead
|
||||
.isAtSameMomentAs(lastMessage.createdAt));
|
||||
|
||||
return Padding(
|
||||
padding: const EdgeInsets.only(right: 4),
|
||||
child:
|
||||
@@ -232,9 +239,7 @@ class StreamChannelListTile extends StatelessWidget {
|
||||
StreamSendingIndicator(
|
||||
message: lastMessage,
|
||||
size: channelPreviewTheme.indicatorIconSize,
|
||||
isMessageRead: channelState
|
||||
.currentUserRead!.lastRead
|
||||
.isAfter(lastMessage.createdAt),
|
||||
isMessageRead: isLastMessageRead,
|
||||
),
|
||||
);
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user