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.Row
|
||||||
import androidx.compose.foundation.layout.Spacer
|
import androidx.compose.foundation.layout.Spacer
|
||||||
import androidx.compose.foundation.layout.requiredSize
|
import androidx.compose.foundation.layout.requiredSize
|
||||||
|
import androidx.compose.foundation.layout.size
|
||||||
import androidx.compose.foundation.shape.CircleShape
|
import androidx.compose.foundation.shape.CircleShape
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
|
|
@ -12,11 +13,20 @@ 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.Brush
|
import androidx.compose.ui.graphics.Brush
|
||||||
|
import androidx.compose.ui.layout.ContentScale
|
||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.unit.dp
|
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
|
@Composable
|
||||||
fun RoleListEntry(label: String, brush: Brush, modifier: Modifier = Modifier) {
|
fun RoleListEntry(
|
||||||
|
label: String,
|
||||||
|
brush: Brush,
|
||||||
|
icon: AutumnResource?,
|
||||||
|
modifier: Modifier = Modifier
|
||||||
|
) {
|
||||||
Row(
|
Row(
|
||||||
verticalAlignment = Alignment.CenterVertically,
|
verticalAlignment = Alignment.CenterVertically,
|
||||||
modifier = modifier
|
modifier = modifier
|
||||||
|
|
@ -27,6 +37,17 @@ fun RoleListEntry(label: String, brush: Brush, modifier: Modifier = Modifier) {
|
||||||
overflow = TextOverflow.Ellipsis
|
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))
|
Spacer(Modifier.weight(1f))
|
||||||
|
|
||||||
Box(
|
Box(
|
||||||
|
|
|
||||||
|
|
@ -190,7 +190,8 @@ fun UserInfoSheet(
|
||||||
RoleListEntry(
|
RoleListEntry(
|
||||||
label = role.name ?: "null",
|
label = role.name ?: "null",
|
||||||
brush = role.colour?.let { BrushCompat.parseColour(it) }
|
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 {
|
role?.let {
|
||||||
RoleListEntry(
|
RoleListEntry(
|
||||||
label = role.name ?: "null",
|
label = role.name ?: "null",
|
||||||
brush = role.colour?.let { BrushCompat.parseColour(it) }
|
brush = role.colour?.let { c -> BrushCompat.parseColour(c) }
|
||||||
?: Brush.solidColor(LocalContentColor.current)
|
?: Brush.solidColor(LocalContentColor.current),
|
||||||
|
icon = role.icon
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue