mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-04 01:19:33 +00:00
Apply avatar colors to all the avatars across the app.
This commit is contained in:
committed by
Benoit Marty
parent
3201358cb5
commit
5d89647a89
+6
-7
@@ -26,7 +26,6 @@ import androidx.compose.runtime.Composable
|
|||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.draw.clip
|
import androidx.compose.ui.draw.clip
|
||||||
import androidx.compose.ui.graphics.Color
|
|
||||||
import androidx.compose.ui.layout.ContentScale
|
import androidx.compose.ui.layout.ContentScale
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
@@ -34,6 +33,7 @@ import androidx.compose.ui.unit.dp
|
|||||||
import androidx.compose.ui.unit.sp
|
import androidx.compose.ui.unit.sp
|
||||||
import coil.compose.AsyncImage
|
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.colors.avatarColors
|
||||||
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
|
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
|
||||||
import io.element.android.libraries.designsystem.preview.PreviewGroup
|
import io.element.android.libraries.designsystem.preview.PreviewGroup
|
||||||
import io.element.android.libraries.designsystem.preview.debugPlaceholderAvatar
|
import io.element.android.libraries.designsystem.preview.debugPlaceholderAvatar
|
||||||
@@ -53,9 +53,10 @@ fun Avatar(
|
|||||||
.size(avatarData.size.dp)
|
.size(avatarData.size.dp)
|
||||||
.clip(CircleShape)
|
.clip(CircleShape)
|
||||||
if (avatarData.url.isNullOrBlank()) {
|
if (avatarData.url.isNullOrBlank()) {
|
||||||
|
val avatarColors = initialAvatarColors ?: avatarColors(avatarData.id)
|
||||||
InitialsAvatar(
|
InitialsAvatar(
|
||||||
avatarData = avatarData,
|
avatarData = avatarData,
|
||||||
avatarColors = initialAvatarColors,
|
avatarColors = avatarColors,
|
||||||
modifier = commonModifier,
|
modifier = commonModifier,
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
@@ -88,13 +89,11 @@ private fun ImageAvatar(
|
|||||||
@Composable
|
@Composable
|
||||||
private fun InitialsAvatar(
|
private fun InitialsAvatar(
|
||||||
avatarData: AvatarData,
|
avatarData: AvatarData,
|
||||||
avatarColors: AvatarColors?,
|
avatarColors: AvatarColors,
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
) {
|
) {
|
||||||
// Use temporary color for default avatar background, if avatarColors is not provided
|
|
||||||
val avatarColor = ElementTheme.colors.bgActionPrimaryDisabled
|
|
||||||
Box(
|
Box(
|
||||||
modifier.background(color = avatarColors?.background ?: avatarColor)
|
modifier.background(color = avatarColors.background)
|
||||||
) {
|
) {
|
||||||
val fontSize = avatarData.size.dp.toSp() / 2
|
val fontSize = avatarData.size.dp.toSp() / 2
|
||||||
val originalFont = ElementTheme.typography.fontHeadingMdBold
|
val originalFont = ElementTheme.typography.fontHeadingMdBold
|
||||||
@@ -104,7 +103,7 @@ private fun InitialsAvatar(
|
|||||||
modifier = Modifier.align(Alignment.Center),
|
modifier = Modifier.align(Alignment.Center),
|
||||||
text = avatarData.initial,
|
text = avatarData.initial,
|
||||||
style = originalFont.copy(fontSize = fontSize, lineHeight = lineHeight, letterSpacing = 0.sp),
|
style = originalFont.copy(fontSize = fontSize, lineHeight = lineHeight, letterSpacing = 0.sp),
|
||||||
color = avatarColors?.foreground ?: Color.White,
|
color = avatarColors.foreground,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user