Allow manual selection of manga description instead of copying to clipboard
Closes #6548 Notably missing some "standard" options like "Select all" or "Share": https://issuetracker.google.com/issues/226648919
This commit is contained in:
parent
cf6407c4d4
commit
60bcebe4d1
1 changed files with 11 additions and 12 deletions
|
@ -21,6 +21,7 @@ import androidx.compose.foundation.layout.size
|
|||
import androidx.compose.foundation.layout.sizeIn
|
||||
import androidx.compose.foundation.lazy.LazyRow
|
||||
import androidx.compose.foundation.lazy.items
|
||||
import androidx.compose.foundation.text.selection.SelectionContainer
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.filled.AttachMoney
|
||||
import androidx.compose.material.icons.filled.Block
|
||||
|
@ -209,7 +210,6 @@ fun ExpandableMangaDescription(
|
|||
tagsProvider: () -> List<String>?,
|
||||
onTagClicked: (String) -> Unit,
|
||||
) {
|
||||
val context = LocalContext.current
|
||||
Column(modifier = modifier) {
|
||||
val (expanded, onExpanded) = rememberSaveable {
|
||||
mutableStateOf(defaultExpandState)
|
||||
|
@ -228,10 +228,7 @@ fun ExpandableMangaDescription(
|
|||
modifier = Modifier
|
||||
.padding(top = 8.dp)
|
||||
.padding(horizontal = 16.dp)
|
||||
.clickableNoIndication(
|
||||
onLongClick = { context.copyToClipboard(desc, desc) },
|
||||
onClick = { onExpanded(!expanded) },
|
||||
),
|
||||
.clickableNoIndication { onExpanded(!expanded) },
|
||||
)
|
||||
val tags = tagsProvider()
|
||||
if (!tags.isNullOrEmpty()) {
|
||||
|
@ -566,6 +563,7 @@ private fun MangaSummary(
|
|||
expandedHeight = expandedPlaceable.maxByOrNull { it.height }?.height?.coerceAtLeast(shrunkHeight) ?: 0
|
||||
|
||||
val actualPlaceable = subcompose("description") {
|
||||
SelectionContainer {
|
||||
Text(
|
||||
text = if (expanded) expandedDescription else shrunkDescription,
|
||||
maxLines = Int.MAX_VALUE,
|
||||
|
@ -573,6 +571,7 @@ private fun MangaSummary(
|
|||
color = MaterialTheme.colorScheme.onBackground,
|
||||
modifier = Modifier.secondaryItemAlpha(),
|
||||
)
|
||||
}
|
||||
}.map { it.measure(constraints) }
|
||||
|
||||
val scrimPlaceable = subcompose("scrim") {
|
||||
|
|
Reference in a new issue