diff --git a/app/shared/src/commonMain/kotlin/ru/fromchat/ui/chat/MessageItem.kt b/app/shared/src/commonMain/kotlin/ru/fromchat/ui/chat/MessageItem.kt index 79f0d5e..0c26a06 100644 --- a/app/shared/src/commonMain/kotlin/ru/fromchat/ui/chat/MessageItem.kt +++ b/app/shared/src/commonMain/kotlin/ru/fromchat/ui/chat/MessageItem.kt @@ -229,9 +229,16 @@ fun MessageItem( ) } + // graphicsLayer must wrap clip/shadow/background so the whole bubble scales on press; + // placing it only after background scaled the children but left the bubble chrome unscaled. Box( modifier = Modifier .widthIn(max = maxBubbleWidth) + .graphicsLayer( + scaleX = scale, + scaleY = scale, + transformOrigin = TransformOrigin.Center + ) .clip(bubbleShape) .conditional( isAuthor, @@ -253,11 +260,6 @@ fun MessageItem( background(MaterialTheme.colorScheme.surfaceContainerHighest) } ) - .graphicsLayer( - scaleX = scale, - scaleY = scale, - transformOrigin = TransformOrigin.Center - ) .padding(top = if (firstContentIsImage) 0.dp else 6.dp) ) { val bubbleColumnModifier =