123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- package io.nexilis.alpha.ui.components
- import androidx.compose.foundation.Image
- import androidx.compose.foundation.layout.Column
- import androidx.compose.foundation.layout.padding
- import androidx.compose.foundation.layout.size
- import androidx.compose.foundation.shape.RoundedCornerShape
- import androidx.compose.material3.MaterialTheme
- import androidx.compose.material3.Text
- import androidx.compose.runtime.Composable
- import androidx.compose.ui.Modifier
- import androidx.compose.ui.graphics.graphicsLayer
- import androidx.compose.ui.layout.ContentScale
- import androidx.compose.ui.platform.LocalContext
- import androidx.compose.ui.unit.dp
- import androidx.core.content.FileProvider
- import coil.compose.rememberAsyncImagePainter
- import io.nexilis.alpha.BuildConfig
- import io.nexilis.service.data.entities.Message
- @Composable
- fun ContentChat(message: Message) {
- val context = LocalContext.current
- if (message.image_id.isNotEmpty()) {
- Column(modifier = Modifier.padding(3.dp)) {
- val file = context.getFileStreamPath(message.image_id)
- val uri = FileProvider.getUriForFile(
- context,
- BuildConfig.APPLICATION_ID + ".provider", file
- )
- Image(
- painter = rememberAsyncImagePainter(uri),
- contentDescription = "",
- modifier = Modifier
- .size(248.dp)
- .graphicsLayer {
- shape = RoundedCornerShape(12.dp)
- clip = true
- },
- contentScale = ContentScale.Crop
- )
- if (message.message_text.isNotEmpty()) {
- Text(
- modifier = Modifier.padding(8.dp),
- text = message.message_text,
- style = MaterialTheme.typography.bodyMedium,
- )
- }
- }
- } else {
- Text(
- modifier = Modifier.padding(8.dp),
- text = message.message_text,
- style = MaterialTheme.typography.bodyMedium,
- )
- }
- }
|