Merge branch 'feature/new-ui' into feature/choose-user

This commit is contained in:
Salvatore Giordano
2020-11-10 10:08:16 +01:00
4 changed files with 31 additions and 18 deletions
+3 -3
View File
@@ -56,9 +56,9 @@ class ChannelListPage extends StatelessWidget {
body: ChannelsBloc(
child: ChannelListView(
filter: {
'members': {
'\$in': [StreamChat.of(context).user.id],
}
// 'members': {
// '\$in': [StreamChat.of(context).user.id],
// }
},
sort: [SortOption('last_message_at')],
pagination: PaginationParams(
+1 -1
View File
@@ -1,7 +1,7 @@
name: example
description: A new Flutter project.
version: 1.0.44+46
version: 1.0.45+47
environment:
sdk: ">=2.2.2 <3.0.0"
+6 -4
View File
@@ -70,9 +70,11 @@ class ChannelPreview extends StatelessWidget {
StreamChatTheme.of(context).channelPreviewTheme.title,
),
),
UnreadIndicator(
channel: channel,
),
if (channel.state.members.contains(
(Member e) => e.userId == channel.client.state.user.id))
UnreadIndicator(
channel: channel,
),
],
),
subtitle: Row(
@@ -92,7 +94,7 @@ class ChannelPreview extends StatelessWidget {
.isAfter(channel
.state.lastMessage.createdAt))
.length ==
channel.memberCount - 1,
(channel.memberCount ?? 0) - 1,
),
);
}
+21 -10
View File
@@ -289,7 +289,9 @@ class _MessageListViewState extends State<MessageListView> {
return messageWidget;
},
),
if (widget.showScrollToBottom)
if (streamChannel.channel.state.members.contains((Member e) =>
e.userId == streamChannel.channel.client.state.user.id) &&
widget.showScrollToBottom)
StreamBuilder<int>(
stream: streamChannel.channel.state.unreadCountStream,
builder: (context, snapshot) {
@@ -374,8 +376,16 @@ class _MessageListViewState extends State<MessageListView> {
left: 10,
top: -10,
child: CircleAvatar(
radius: 20,
child: Text(unreadCount.toString()),
child: Padding(
padding: const EdgeInsets.all(3.0),
child: Text(
unreadCount.toString(),
style: TextStyle(
fontSize: 11,
fontWeight: FontWeight.bold,
),
),
),
),
),
],
@@ -555,13 +565,14 @@ class _MessageListViewState extends State<MessageListView> {
final channel = StreamChannel.of(context).channel;
final readList = channel.state?.read
?.where((element) => element.user.id != userId)
?.where((read) =>
(read.lastRead.isAfter(message.createdAt) ||
read.lastRead.isAtSameMomentAs(message.createdAt)) &&
(index == 0 ||
read.lastRead.isBefore(messages[index - 1].createdAt)))
?.toList();
?.where((element) => element.user.id != userId)
?.where((read) =>
(read.lastRead.isAfter(message.createdAt) ||
read.lastRead.isAtSameMomentAs(message.createdAt)) &&
(index == 0 ||
read.lastRead.isBefore(messages[index - 1].createdAt)))
?.toList() ??
[];
final allRead = readList.length >= (channel.memberCount ?? 0) - 1;