properly reverse items

This commit is contained in:
2026-08-08 07:49:51 +03:00
parent 1173a0f5c8
commit 64ee936aa6
7 changed files with 13 additions and 26 deletions
@@ -18,17 +18,14 @@ import androidx.compose.foundation.layout.calculateStartPadding
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.heightIn
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.widthIn
import androidx.compose.foundation.lazy.items
import androidx.compose.foundation.lazy.rememberLazyListState
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.foundation.text.KeyboardActions
import androidx.compose.foundation.text.KeyboardOptions
import androidx.compose.foundation.text.selection.SelectionContainer
import androidx.compose.foundation.verticalScroll
import androidx.compose.material3.Button
import androidx.compose.material3.Card
import androidx.compose.material3.CardDefaults
@@ -144,7 +141,7 @@ private fun ChatContent(
LaunchedEffect(state.messages.size) {
if (state.messages.isNotEmpty()) {
listState.animateScrollToItem(state.messages.lastIndex)
listState.animateScrollToItem(0)
}
}
@@ -218,7 +215,6 @@ private fun MessageBubble(
onParseMessage: (String) -> List<TextToken>,
onClickLink: (String) -> Unit
) {
val scrollState = rememberScrollState()
val isUser = message.role == ChatRoles.USER
val alignment = if (isUser) Alignment.CenterEnd else Alignment.CenterStart
val containerColor = if (isUser) MaterialTheme.colorScheme.primaryContainer else MaterialTheme.colorScheme.surfaceVariant
@@ -254,11 +250,7 @@ private fun MessageBubble(
}
}
Box(
modifier = Modifier.fillMaxWidth()
.heightIn(max = 400.dp)
.focusable()
.verticalScroll(scrollState)
,
modifier = Modifier.fillMaxWidth().focusable(),
contentAlignment = alignment
) {
Card(