From cd5d92dde8b59a9fb9ef704a9e9b3f4e851e62ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20=C5=BBerko?= Date: Tue, 2 Jan 2024 07:40:23 +0100 Subject: [PATCH] feat: scrollable dialogs [WPB-1681] (#2552) --- .../com/wire/android/ui/common/WireDialog.kt | 35 +++++++++++-------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/app/src/main/kotlin/com/wire/android/ui/common/WireDialog.kt b/app/src/main/kotlin/com/wire/android/ui/common/WireDialog.kt index 9095e883ea6..1a8cb747fb4 100644 --- a/app/src/main/kotlin/com/wire/android/ui/common/WireDialog.kt +++ b/app/src/main/kotlin/com/wire/android/ui/common/WireDialog.kt @@ -31,6 +31,7 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.width +import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Surface @@ -200,21 +201,27 @@ private fun WireDialogContent( } } text?.let { - ClickableText( - text = text, - style = MaterialTheme.wireTypography.body01, - modifier = Modifier.padding( - top = MaterialTheme.wireDimensions.dialogTextsSpacing, - bottom = MaterialTheme.wireDimensions.dialogTextsSpacing, - ), - onClick = { offset -> - text.getStringAnnotations( - tag = MarkdownConstants.TAG_URL, - start = offset, - end = offset, - ).firstOrNull()?.let { result -> uriHandler.openUri(result.item) } + LazyColumn(modifier = Modifier + .weight(1f, fill = false) + .fillMaxWidth()) { + item { + ClickableText( + text = text, + style = MaterialTheme.wireTypography.body01, + modifier = Modifier.padding( + top = MaterialTheme.wireDimensions.dialogTextsSpacing, + bottom = MaterialTheme.wireDimensions.dialogTextsSpacing, + ), + onClick = { offset -> + text.getStringAnnotations( + tag = MarkdownConstants.TAG_URL, + start = offset, + end = offset, + ).firstOrNull()?.let { result -> uriHandler.openUri(result.item) } + } + ) } - ) + } } content?.let { Box {