change (preferences) : hide invite avatars (room and sender)

This commit is contained in:
ganfra 2025-04-09 21:06:36 +02:00
parent 546cd20e51
commit 58fc1f9a0e
17 changed files with 74 additions and 10 deletions

View file

@ -48,11 +48,13 @@ fun Avatar(
contentDescription: String? = null,
// If not null, will be used instead of the size from avatarData
forcedAvatarSize: Dp? = null,
// If true, will show initials even if avatarData.url is not null
hideImage: Boolean = false,
) {
val commonModifier = modifier
.size(forcedAvatarSize ?: avatarData.size.dp)
.clip(CircleShape)
if (avatarData.url.isNullOrBlank()) {
if (avatarData.url.isNullOrBlank() || hideImage) {
InitialsAvatar(
avatarData = avatarData,
forcedAvatarSize = forcedAvatarSize,

View file

@ -33,10 +33,16 @@ fun CompositeAvatar(
avatarData: AvatarData,
heroes: ImmutableList<AvatarData>,
modifier: Modifier = Modifier,
hideAvatarImages: Boolean = false,
contentDescription: String? = null,
) {
if (avatarData.url != null || heroes.isEmpty()) {
Avatar(avatarData, modifier, contentDescription)
Avatar(
avatarData = avatarData,
modifier = modifier,
contentDescription = contentDescription,
hideImage = hideAvatarImages
)
} else {
val limitedHeroes = heroes.take(4)
val numberOfHeroes = limitedHeroes.size
@ -49,7 +55,12 @@ fun CompositeAvatar(
error("Unsupported number of heroes: 0")
}
1 -> {
Avatar(heroes[0], modifier, contentDescription)
Avatar(
avatarData = heroes[0],
modifier = modifier,
contentDescription = contentDescription,
hideImage = hideAvatarImages
)
}
else -> {
val angle = 2 * Math.PI / numberOfHeroes
@ -91,8 +102,9 @@ fun CompositeAvatar(
)
) {
Avatar(
heroAvatar,
avatarData = heroAvatar,
forcedAvatarSize = heroAvatarSize,
hideImage = hideAvatarImages,
)
}
}