@@ -13,6 +13,7 @@ import androidx.compose.foundation.layout.Column
1313import androidx.compose.foundation.layout.Row
1414import androidx.compose.foundation.layout.fillMaxWidth
1515import androidx.compose.foundation.layout.padding
16+import androidx.compose.foundation.layout.size
1617import androidx.compose.foundation.layout.widthIn
1718import androidx.compose.foundation.shape.RoundedCornerShape
1819import androidx.compose.foundation.text.selection.SelectionContainer
@@ -23,6 +24,7 @@ import androidx.compose.material.icons.filled.ErrorOutline
2324import androidx.compose.material.icons.filled.ExpandLess
2425import androidx.compose.material.icons.filled.ExpandMore
2526import androidx.compose.material.icons.filled.Schedule
27+import androidx.compose.material.icons.filled.SmartToy
2628import androidx.compose.material3.Icon
2729import androidx.compose.material3.MaterialTheme
2830import androidx.compose.material3.Text
@@ -52,7 +54,7 @@ private val timeFormat = java.time.format.DateTimeFormatter.ofPattern("HH:mm")
5254
5355@OptIn(ExperimentalFoundationApi::class)
5456@Composable
55−fun MessageBubble(message: MessageView, modifier: Modifier = Modifier, onRetry: () -> Unit = {}) {
57+fun MessageBubble(message: MessageView, modifier: Modifier = Modifier, onRetry: () -> Unit = {}, compactSpacing: Boolean = false) {
5658 val isUser = message.isUser
5759 val bubbleColor = if (isUser) MaterialTheme.colorScheme.primaryContainer else MaterialTheme.colorScheme.surfaceVariant
5860 val textColor = if (isUser) MaterialTheme.colorScheme.onPrimaryContainer else MaterialTheme.colorScheme.onSurface
@@ -67,9 +69,17 @@ fun MessageBubble(message: MessageView, modifier: Modifier = Modifier, onRetry:
6769 val context = LocalContext.current
6870
6971 Row(
70− modifier = modifier.fillMaxWidth().padding(horizontal = 12.dp, vertical = 4.dp),
72+ modifier = modifier.fillMaxWidth().padding(horizontal = 12.dp, vertical = if (compactSpacing) 1.dp else 4.dp),
7173 horizontalArrangement = if (isUser) Arrangement.End else Arrangement.Start,
7274 ) {
75+ if (!isUser) {
76+ Icon(
77+ Icons.Filled.SmartToy,
78+ contentDescription = null,
79+ tint = MaterialTheme.colorScheme.primary,
80+ modifier = Modifier.align(Alignment.Top).padding(end = 6.dp, top = 2.dp).size(28.dp),
81+ )
82+ }
7383 Column(
7484 modifier = Modifier
7585 .fillMaxWidth(0.85f)