feat: display role icons in info sheet too
This commit is contained in:
parent
126011a3e3
commit
54a2b2750c
|
|
@ -5,6 +5,7 @@ import androidx.compose.foundation.layout.Box
|
|||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.Spacer
|
||||
import androidx.compose.foundation.layout.requiredSize
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.foundation.shape.CircleShape
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
|
|
@ -12,11 +13,20 @@ import androidx.compose.ui.Alignment
|
|||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.draw.clip
|
||||
import androidx.compose.ui.graphics.Brush
|
||||
import androidx.compose.ui.layout.ContentScale
|
||||
import androidx.compose.ui.text.style.TextOverflow
|
||||
import androidx.compose.ui.unit.dp
|
||||
import chat.stoat.composables.generic.RemoteImage
|
||||
import chat.stoat.core.model.data.STOAT_FILES
|
||||
import chat.stoat.core.model.schemas.AutumnResource
|
||||
|
||||
@Composable
|
||||
fun RoleListEntry(label: String, brush: Brush, modifier: Modifier = Modifier) {
|
||||
fun RoleListEntry(
|
||||
label: String,
|
||||
brush: Brush,
|
||||
icon: AutumnResource?,
|
||||
modifier: Modifier = Modifier
|
||||
) {
|
||||
Row(
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
modifier = modifier
|
||||
|
|
@ -27,6 +37,17 @@ fun RoleListEntry(label: String, brush: Brush, modifier: Modifier = Modifier) {
|
|||
overflow = TextOverflow.Ellipsis
|
||||
)
|
||||
|
||||
if (icon != null) {
|
||||
Spacer(Modifier.requiredSize(4.dp))
|
||||
RemoteImage(
|
||||
url = "$STOAT_FILES/icons/${icon.id}",
|
||||
contentScale = ContentScale.Fit,
|
||||
description = null,
|
||||
modifier = Modifier
|
||||
.size(16.dp)
|
||||
)
|
||||
}
|
||||
|
||||
Spacer(Modifier.weight(1f))
|
||||
|
||||
Box(
|
||||
|
|
|
|||
|
|
@ -190,7 +190,8 @@ fun UserInfoSheet(
|
|||
RoleListEntry(
|
||||
label = role.name ?: "null",
|
||||
brush = role.colour?.let { BrushCompat.parseColour(it) }
|
||||
?: Brush.solidColor(LocalContentColor.current)
|
||||
?: Brush.solidColor(LocalContentColor.current),
|
||||
icon = role.icon
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -205,8 +206,9 @@ fun UserInfoSheet(
|
|||
role?.let {
|
||||
RoleListEntry(
|
||||
label = role.name ?: "null",
|
||||
brush = role.colour?.let { BrushCompat.parseColour(it) }
|
||||
?: Brush.solidColor(LocalContentColor.current)
|
||||
brush = role.colour?.let { c -> BrushCompat.parseColour(c) }
|
||||
?: Brush.solidColor(LocalContentColor.current),
|
||||
icon = role.icon
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue