From 1dae77517abf45e497284629f23876b5d7d32787 Mon Sep 17 00:00:00 2001 From: denis0001-dev Date: Fri, 3 Apr 2026 15:27:44 +0300 Subject: [PATCH] Fix bubble animation --- .../kotlin/ru/fromchat/ui/chat/MessageItem.kt | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) 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 =