diff --git a/app/src/main/java/ru/risdeveau/pixeldragon/ui/layout/Room.kt b/app/src/main/java/ru/risdeveau/pixeldragon/ui/layout/Room.kt index 659ef92..2657780 100755 --- a/app/src/main/java/ru/risdeveau/pixeldragon/ui/layout/Room.kt +++ b/app/src/main/java/ru/risdeveau/pixeldragon/ui/layout/Room.kt @@ -48,6 +48,7 @@ import ru.risdeveau.pixeldragon.api.Event import ru.risdeveau.pixeldragon.api.getAccountData import ru.risdeveau.pixeldragon.api.getEventsAround import ru.risdeveau.pixeldragon.api.getMe +import ru.risdeveau.pixeldragon.ui.item.MXCImage @Composable fun Room(modifier: Modifier = Modifier, rid: String) { @@ -97,13 +98,24 @@ fun EventItem(event: Event) { ) { Text(event.sender, maxLines = 1, fontWeight = FontWeight.Bold) - when (event.content.optString("format")) { - "org.matrix.custom.html" -> - HtmlRenderer(event.content.getString("formatted_body")) + when (val msgtype = event.content.optString("msgtype", null)) { + "m.text" -> when (event.content.optString("format")) { + "org.matrix.custom.html" -> + HtmlRenderer(event.content.getString("formatted_body")) - else -> Text(event.content.getString("body")) + else -> Text(event.content.getString("body")) + } + + "m.image" -> + MXCImage(event.content.getString("url")) + + null -> Text(event.content.toString(2)) + + else -> Text("Unknown type: $msgtype") } + } + else -> Text(event.type, Modifier .padding(4.dp)