feature(space): use room heroes for avatar

This commit is contained in:
ganfra 2025-10-08 14:09:51 +02:00
parent 4b39c668db
commit 4dd9c9ab73

View file

@ -53,6 +53,8 @@ import io.element.android.libraries.matrix.ui.model.icon
import io.element.android.libraries.matrix.ui.model.label import io.element.android.libraries.matrix.ui.model.label
import io.element.android.libraries.ui.strings.CommonPlurals import io.element.android.libraries.ui.strings.CommonPlurals
import io.element.android.libraries.ui.strings.CommonStrings import io.element.android.libraries.ui.strings.CommonStrings
import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.toImmutableList
@Composable @Composable
fun SpaceRoomItemView( fun SpaceRoomItemView(
@ -70,6 +72,9 @@ fun SpaceRoomItemView(
avatarData = spaceRoom.getAvatarData(AvatarSize.SpaceListItem), avatarData = spaceRoom.getAvatarData(AvatarSize.SpaceListItem),
isSpace = spaceRoom.isSpace, isSpace = spaceRoom.isSpace,
hideAvatars = hideAvatars, hideAvatars = hideAvatars,
heroes = spaceRoom.heroes
.map { hero -> hero.getAvatarData(AvatarSize.SpaceListItem) }
.toImmutableList(),
onClick = onClick, onClick = onClick,
onLongClick = onLongClick, onLongClick = onLongClick,
trailingAction = trailingAction, trailingAction = trailingAction,
@ -164,6 +169,7 @@ private fun NameAndIndicatorRow(
private fun SpaceRoomItemScaffold( private fun SpaceRoomItemScaffold(
avatarData: AvatarData, avatarData: AvatarData,
isSpace: Boolean, isSpace: Boolean,
heroes: ImmutableList<AvatarData>,
onClick: () -> Unit, onClick: () -> Unit,
onLongClick: () -> Unit, onLongClick: () -> Unit,
hideAvatars: Boolean, hideAvatars: Boolean,
@ -189,7 +195,7 @@ private fun SpaceRoomItemScaffold(
) { ) {
Avatar( Avatar(
avatarData = avatarData, avatarData = avatarData,
avatarType = if (isSpace) AvatarType.Space() else AvatarType.Room(), avatarType = if (isSpace) AvatarType.Space() else AvatarType.Room(heroes = heroes),
hideImage = hideAvatars, hideImage = hideAvatars,
) )
Spacer(modifier = Modifier.width(16.dp)) Spacer(modifier = Modifier.width(16.dp))