feature(space) : ensure RoomSummaryRow can display space invites

This commit is contained in:
ganfra
2025-10-02 16:15:33 +02:00
parent 00bfa7e65b
commit db424b6e41
5 changed files with 23 additions and 4 deletions

View File

@@ -189,10 +189,14 @@ private fun RoomSummaryScaffoldRow(
) {
Avatar(
avatarData = room.avatarData,
avatarType = AvatarType.Room(
heroes = room.heroes,
isTombstoned = room.isTombstoned,
),
avatarType = if (room.isSpace) {
AvatarType.Space(isTombstoned = room.isTombstoned)
} else {
AvatarType.Room(
heroes = room.heroes,
isTombstoned = room.isTombstoned,
)
},
hideImage = hideAvatarImage,
)
Spacer(modifier = Modifier.width(16.dp))

View File

@@ -69,6 +69,7 @@ class RoomListRoomSummaryFactory(
user.getAvatarData(size = AvatarSize.RoomListItem)
}.toImmutableList(),
isTombstoned = roomInfo.successorRoom != null,
isSpace = roomInfo.isSpace,
)
}
}

View File

@@ -38,6 +38,7 @@ data class RoomListRoomSummary(
val inviteSender: InviteSender?,
val isTombstoned: Boolean,
val heroes: ImmutableList<AvatarData>,
val isSpace: Boolean,
) {
val isHighlighted = userDefinedNotificationMode != RoomNotificationMode.MUTE &&
(numberOfUnreadNotifications > 0 || numberOfUnreadMentions > 0) ||

View File

@@ -102,6 +102,15 @@ open class RoomListRoomSummaryProvider : PreviewParameterProvider<RoomListRoomSu
displayName = "Bob",
),
),
aRoomListRoomSummary(
name = "A space invite",
displayType = RoomSummaryDisplayType.INVITE,
inviteSender = anInviteSender(
userId = UserId("@bob:matrix.org"),
displayName = "Bob",
),
isSpace = true
),
aRoomListRoomSummary(
name = "A knocked room",
displayType = RoomSummaryDisplayType.KNOCKED,
@@ -151,6 +160,7 @@ internal fun aRoomListRoomSummary(
canonicalAlias: RoomAlias? = null,
heroes: List<AvatarData> = emptyList(),
isTombstoned: Boolean = false,
isSpace: Boolean = false,
) = RoomListRoomSummary(
id = id,
roomId = RoomId(id),
@@ -172,4 +182,5 @@ internal fun aRoomListRoomSummary(
canonicalAlias = canonicalAlias,
heroes = heroes.toImmutableList(),
isTombstoned = isTombstoned,
isSpace = isSpace
)

View File

@@ -85,6 +85,7 @@ internal fun createRoomListRoomSummary(
heroes: List<AvatarData> = emptyList(),
timestamp: String? = null,
isTombstoned: Boolean = false,
isSpace: Boolean = false,
) = RoomListRoomSummary(
id = A_ROOM_ID.value,
roomId = A_ROOM_ID,
@@ -106,4 +107,5 @@ internal fun createRoomListRoomSummary(
isDm = false,
heroes = heroes.toPersistentList(),
isTombstoned = isTombstoned,
isSpace = isSpace
)