diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/components/SelectTextDialog.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/components/SelectTextDialog.kt index bd9d488b9..245c7c6f8 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/components/SelectTextDialog.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/components/SelectTextDialog.kt @@ -1,11 +1,14 @@ package com.vitorpamplona.amethyst.ui.components -import androidx.compose.foundation.background +import android.content.res.Configuration import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.heightIn import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.text.selection.SelectionContainer +import androidx.compose.foundation.verticalScroll import androidx.compose.material.Card import androidx.compose.material.Divider import androidx.compose.material.Icon @@ -17,6 +20,7 @@ import androidx.compose.material.icons.filled.ArrowBack import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.LocalConfiguration import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.compose.ui.window.Dialog @@ -24,18 +28,27 @@ import com.vitorpamplona.amethyst.R @Composable fun SelectTextDialog(text: String, onDismiss: () -> Unit) { + val screenHeight = LocalConfiguration.current.screenHeightDp.dp + val maxHeight = + if (LocalConfiguration.current.orientation == Configuration.ORIENTATION_PORTRAIT) { + screenHeight * 0.6f + } else { + screenHeight * 0.9f + } + Dialog( onDismissRequest = onDismiss ) { Card { - Column { + Column( + modifier = Modifier.heightIn(24.dp, maxHeight) + ) { Row( verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.End ) { IconButton( - onClick = onDismiss, - modifier = Modifier.background(MaterialTheme.colors.background) + onClick = onDismiss ) { Icon( imageVector = Icons.Default.ArrowBack, @@ -46,9 +59,13 @@ fun SelectTextDialog(text: String, onDismiss: () -> Unit) { Text(text = stringResource(R.string.select_text_dialog_top)) } Divider() - Row(modifier = Modifier.padding(16.dp)) { - SelectionContainer { - Text(text) + Column( + modifier = Modifier.verticalScroll(rememberScrollState()) + ) { + Row(modifier = Modifier.padding(16.dp)) { + SelectionContainer { + Text(text) + } } } }