|
|
|
@ -26,7 +26,6 @@ import androidx.compose.runtime.Composable
@@ -26,7 +26,6 @@ import androidx.compose.runtime.Composable
|
|
|
|
|
import androidx.compose.ui.Alignment |
|
|
|
|
import androidx.compose.ui.Modifier |
|
|
|
|
import androidx.compose.ui.draw.clip |
|
|
|
|
import androidx.compose.ui.graphics.Color |
|
|
|
|
import androidx.compose.ui.layout.ContentScale |
|
|
|
|
import androidx.compose.ui.tooling.preview.Preview |
|
|
|
|
import androidx.compose.ui.tooling.preview.PreviewParameter |
|
|
|
@ -34,6 +33,7 @@ import androidx.compose.ui.unit.dp
@@ -34,6 +33,7 @@ import androidx.compose.ui.unit.dp
|
|
|
|
|
import androidx.compose.ui.unit.sp |
|
|
|
|
import coil.compose.AsyncImage |
|
|
|
|
import io.element.android.libraries.designsystem.colors.AvatarColors |
|
|
|
|
import io.element.android.libraries.designsystem.colors.avatarColors |
|
|
|
|
import io.element.android.libraries.designsystem.preview.ElementThemedPreview |
|
|
|
|
import io.element.android.libraries.designsystem.preview.PreviewGroup |
|
|
|
|
import io.element.android.libraries.designsystem.preview.debugPlaceholderAvatar |
|
|
|
@ -53,9 +53,10 @@ fun Avatar(
@@ -53,9 +53,10 @@ fun Avatar(
|
|
|
|
|
.size(avatarData.size.dp) |
|
|
|
|
.clip(CircleShape) |
|
|
|
|
if (avatarData.url.isNullOrBlank()) { |
|
|
|
|
val avatarColors = initialAvatarColors ?: avatarColors(avatarData.id) |
|
|
|
|
InitialsAvatar( |
|
|
|
|
avatarData = avatarData, |
|
|
|
|
avatarColors = initialAvatarColors, |
|
|
|
|
avatarColors = avatarColors, |
|
|
|
|
modifier = commonModifier, |
|
|
|
|
) |
|
|
|
|
} else { |
|
|
|
@ -88,13 +89,11 @@ private fun ImageAvatar(
@@ -88,13 +89,11 @@ private fun ImageAvatar(
|
|
|
|
|
@Composable |
|
|
|
|
private fun InitialsAvatar( |
|
|
|
|
avatarData: AvatarData, |
|
|
|
|
avatarColors: AvatarColors?, |
|
|
|
|
avatarColors: AvatarColors, |
|
|
|
|
modifier: Modifier = Modifier, |
|
|
|
|
) { |
|
|
|
|
// Use temporary color for default avatar background, if avatarColors is not provided |
|
|
|
|
val avatarColor = ElementTheme.colors.bgActionPrimaryDisabled |
|
|
|
|
Box( |
|
|
|
|
modifier.background(color = avatarColors?.background ?: avatarColor) |
|
|
|
|
modifier.background(color = avatarColors.background) |
|
|
|
|
) { |
|
|
|
|
val fontSize = avatarData.size.dp.toSp() / 2 |
|
|
|
|
val originalFont = ElementTheme.typography.fontHeadingMdBold |
|
|
|
@ -104,7 +103,7 @@ private fun InitialsAvatar(
@@ -104,7 +103,7 @@ private fun InitialsAvatar(
|
|
|
|
|
modifier = Modifier.align(Alignment.Center), |
|
|
|
|
text = avatarData.initial, |
|
|
|
|
style = originalFont.copy(fontSize = fontSize, lineHeight = lineHeight, letterSpacing = 0.sp), |
|
|
|
|
color = avatarColors?.foreground ?: Color.White, |
|
|
|
|
color = avatarColors.foreground, |
|
|
|
|
) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|