feat: Display indicator for unread muted rooms
This commit is contained in:
parent
28c5c8211f
commit
9a594824bb
5 changed files with 16 additions and 13 deletions
|
|
@ -224,7 +224,7 @@ class ChatController extends State<Chat> {
|
|||
}
|
||||
filteredEvents = timeline!.getFilteredEvents(unfolded: unfolded);
|
||||
timeline!.requestKeys();
|
||||
if (room!.notificationCount > 0 &&
|
||||
if (room!.hasNewMessages &&
|
||||
timeline != null &&
|
||||
timeline!.events.isNotEmpty &&
|
||||
Matrix.of(context).webHasFocus) {
|
||||
|
|
|
|||
|
|
@ -150,7 +150,7 @@ class ChatListItem extends StatelessWidget {
|
|||
final ownMessage =
|
||||
room.lastEvent?.senderId == Matrix.of(context).client.userID;
|
||||
final unread = room.isUnread || room.membership == Membership.invite;
|
||||
final unreadBubbleSize = unread
|
||||
final unreadBubbleSize = unread || room.hasNewMessages
|
||||
? room.notificationCount > 0
|
||||
? 20.0
|
||||
: 14.0
|
||||
|
|
@ -291,15 +291,18 @@ class ChatListItem extends StatelessWidget {
|
|||
curve: Curves.bounceInOut,
|
||||
padding: const EdgeInsets.symmetric(horizontal: 7),
|
||||
height: unreadBubbleSize,
|
||||
width: room.notificationCount == 0 && !unread
|
||||
? 0
|
||||
: (unreadBubbleSize - 9) *
|
||||
room.notificationCount.toString().length +
|
||||
9,
|
||||
width:
|
||||
room.notificationCount == 0 && !unread && !room.hasNewMessages
|
||||
? 0
|
||||
: (unreadBubbleSize - 9) *
|
||||
room.notificationCount.toString().length +
|
||||
9,
|
||||
decoration: BoxDecoration(
|
||||
color: room.highlightCount > 0
|
||||
? Colors.red
|
||||
: Theme.of(context).primaryColor,
|
||||
: room.notificationCount > 0
|
||||
? Theme.of(context).primaryColor
|
||||
: Theme.of(context).primaryColor.withAlpha(100),
|
||||
borderRadius: BorderRadius.circular(AppConfig.borderRadius),
|
||||
),
|
||||
child: Center(
|
||||
|
|
|
|||
|
|
@ -132,8 +132,8 @@ class StoriesHeader extends StatelessWidget {
|
|||
size: 100,
|
||||
fontSize: 24,
|
||||
),
|
||||
unread: room.notificationCount > 0 ||
|
||||
room.membership == Membership.invite,
|
||||
unread: room.membership == Membership.invite ||
|
||||
room.hasNewMessages,
|
||||
onPressed: () => _goToStoryAction(context, room.id),
|
||||
onLongPressed: () => _contextualActions(context, room),
|
||||
),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue