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