Ensure AvatarSize is correctly used in UnsavedAvatar, instead of hard coded size.
This commit is contained in:
parent
c250adbb53
commit
9db77db735
3 changed files with 17 additions and 11 deletions
|
|
@ -40,6 +40,7 @@ import io.element.android.libraries.designsystem.atomic.atoms.RoundedIconAtom
|
||||||
import io.element.android.libraries.designsystem.atomic.atoms.RoundedIconAtomSize
|
import io.element.android.libraries.designsystem.atomic.atoms.RoundedIconAtomSize
|
||||||
import io.element.android.libraries.designsystem.components.async.AsyncActionView
|
import io.element.android.libraries.designsystem.components.async.AsyncActionView
|
||||||
import io.element.android.libraries.designsystem.components.async.AsyncActionViewDefaults
|
import io.element.android.libraries.designsystem.components.async.AsyncActionViewDefaults
|
||||||
|
import io.element.android.libraries.designsystem.components.avatar.AvatarSize
|
||||||
import io.element.android.libraries.designsystem.components.avatar.AvatarType
|
import io.element.android.libraries.designsystem.components.avatar.AvatarType
|
||||||
import io.element.android.libraries.designsystem.components.button.BackButton
|
import io.element.android.libraries.designsystem.components.button.BackButton
|
||||||
import io.element.android.libraries.designsystem.components.list.ListItemContent
|
import io.element.android.libraries.designsystem.components.list.ListItemContent
|
||||||
|
|
@ -220,6 +221,7 @@ private fun RoomNameWithAvatar(
|
||||||
) {
|
) {
|
||||||
UnsavedAvatar(
|
UnsavedAvatar(
|
||||||
avatarUri = avatarUri,
|
avatarUri = avatarUri,
|
||||||
|
avatarSize = AvatarSize.EditRoomDetails,
|
||||||
avatarType = AvatarType.Room(),
|
avatarType = AvatarType.Room(),
|
||||||
modifier = Modifier.clickable(onClick = onAvatarClick),
|
modifier = Modifier.clickable(onClick = onAvatarClick),
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,6 @@ import androidx.compose.foundation.clickable
|
||||||
import androidx.compose.foundation.interaction.MutableInteractionSource
|
import androidx.compose.foundation.interaction.MutableInteractionSource
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.fillMaxSize
|
|
||||||
import androidx.compose.foundation.layout.fillMaxWidth
|
import androidx.compose.foundation.layout.fillMaxWidth
|
||||||
import androidx.compose.foundation.layout.size
|
import androidx.compose.foundation.layout.size
|
||||||
import androidx.compose.foundation.shape.CircleShape
|
import androidx.compose.foundation.shape.CircleShape
|
||||||
|
|
@ -61,7 +60,6 @@ fun EditableAvatarView(
|
||||||
val a11yAvatar = stringResource(CommonStrings.a11y_avatar)
|
val a11yAvatar = stringResource(CommonStrings.a11y_avatar)
|
||||||
Box(
|
Box(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.size(avatarSize.dp)
|
|
||||||
.clickable(
|
.clickable(
|
||||||
interactionSource = remember { MutableInteractionSource() },
|
interactionSource = remember { MutableInteractionSource() },
|
||||||
onClick = onAvatarClick,
|
onClick = onAvatarClick,
|
||||||
|
|
@ -75,16 +73,20 @@ fun EditableAvatarView(
|
||||||
when (avatarUrl?.scheme) {
|
when (avatarUrl?.scheme) {
|
||||||
null, "mxc" -> {
|
null, "mxc" -> {
|
||||||
Avatar(
|
Avatar(
|
||||||
avatarData = AvatarData(matrixId, displayName, avatarUrl?.toString(), size = avatarSize),
|
avatarData = AvatarData(
|
||||||
|
id = matrixId,
|
||||||
|
name = displayName,
|
||||||
|
url = avatarUrl?.toString(),
|
||||||
|
size = avatarSize,
|
||||||
|
),
|
||||||
avatarType = avatarType,
|
avatarType = avatarType,
|
||||||
modifier = Modifier.fillMaxSize(),
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
else -> {
|
else -> {
|
||||||
UnsavedAvatar(
|
UnsavedAvatar(
|
||||||
avatarUri = avatarUrl,
|
avatarUri = avatarUrl,
|
||||||
|
avatarSize = avatarSize,
|
||||||
avatarType = avatarType,
|
avatarType = avatarType,
|
||||||
modifier = Modifier.fillMaxSize(),
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,7 @@ import androidx.compose.ui.unit.dp
|
||||||
import coil3.compose.AsyncImage
|
import coil3.compose.AsyncImage
|
||||||
import coil3.request.ImageRequest
|
import coil3.request.ImageRequest
|
||||||
import io.element.android.compound.theme.ElementTheme
|
import io.element.android.compound.theme.ElementTheme
|
||||||
|
import io.element.android.libraries.designsystem.components.avatar.AvatarSize
|
||||||
import io.element.android.libraries.designsystem.components.avatar.AvatarType
|
import io.element.android.libraries.designsystem.components.avatar.AvatarType
|
||||||
import io.element.android.libraries.designsystem.components.avatar.avatarShape
|
import io.element.android.libraries.designsystem.components.avatar.avatarShape
|
||||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||||
|
|
@ -43,11 +44,12 @@ import io.element.android.libraries.designsystem.theme.temporaryColorBgSpecial
|
||||||
@Composable
|
@Composable
|
||||||
fun UnsavedAvatar(
|
fun UnsavedAvatar(
|
||||||
avatarUri: Uri?,
|
avatarUri: Uri?,
|
||||||
|
avatarSize: AvatarSize,
|
||||||
avatarType: AvatarType,
|
avatarType: AvatarType,
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
) {
|
) {
|
||||||
val commonModifier = modifier
|
val commonModifier = modifier
|
||||||
.size(70.dp)
|
.size(avatarSize.dp)
|
||||||
.clip(avatarType.avatarShape())
|
.clip(avatarType.avatarShape())
|
||||||
|
|
||||||
if (avatarUri != null) {
|
if (avatarUri != null) {
|
||||||
|
|
@ -69,7 +71,7 @@ fun UnsavedAvatar(
|
||||||
contentDescription = null,
|
contentDescription = null,
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.align(Alignment.Center)
|
.align(Alignment.Center)
|
||||||
.size(40.dp),
|
.size(avatarSize.dp * 4 / 7),
|
||||||
tint = ElementTheme.colors.iconSecondary,
|
tint = ElementTheme.colors.iconSecondary,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
@ -83,9 +85,9 @@ internal fun UnsavedAvatarPreview() = ElementPreview {
|
||||||
modifier = Modifier.padding(8.dp),
|
modifier = Modifier.padding(8.dp),
|
||||||
horizontalArrangement = Arrangement.spacedBy(8.dp),
|
horizontalArrangement = Arrangement.spacedBy(8.dp),
|
||||||
) {
|
) {
|
||||||
UnsavedAvatar(null, AvatarType.User)
|
UnsavedAvatar(null, AvatarSize.EditRoomDetails, AvatarType.User)
|
||||||
UnsavedAvatar(Uri.EMPTY, AvatarType.User)
|
UnsavedAvatar(Uri.EMPTY, AvatarSize.EditRoomDetails, AvatarType.User)
|
||||||
UnsavedAvatar(null, AvatarType.Space(8.dp))
|
UnsavedAvatar(null, AvatarSize.EditRoomDetails, AvatarType.Space(8.dp))
|
||||||
UnsavedAvatar(Uri.EMPTY, AvatarType.Space(8.dp))
|
UnsavedAvatar(Uri.EMPTY, AvatarSize.EditRoomDetails, AvatarType.Space(8.dp))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue