mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-31 14:27:57 +01:00 
			
		
		
		
	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:
		| @@ -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,13 +563,15 @@ private fun MangaSummary( | ||||
|         expandedHeight = expandedPlaceable.maxByOrNull { it.height }?.height?.coerceAtLeast(shrunkHeight) ?: 0 | ||||
|  | ||||
|         val actualPlaceable = subcompose("description") { | ||||
|             Text( | ||||
|                 text = if (expanded) expandedDescription else shrunkDescription, | ||||
|                 maxLines = Int.MAX_VALUE, | ||||
|                 style = MaterialTheme.typography.bodyMedium, | ||||
|                 color = MaterialTheme.colorScheme.onBackground, | ||||
|                 modifier = Modifier.secondaryItemAlpha(), | ||||
|             ) | ||||
|             SelectionContainer { | ||||
|                 Text( | ||||
|                     text = if (expanded) expandedDescription else shrunkDescription, | ||||
|                     maxLines = Int.MAX_VALUE, | ||||
|                     style = MaterialTheme.typography.bodyMedium, | ||||
|                     color = MaterialTheme.colorScheme.onBackground, | ||||
|                     modifier = Modifier.secondaryItemAlpha(), | ||||
|                 ) | ||||
|             } | ||||
|         }.map { it.measure(constraints) } | ||||
|  | ||||
|         val scrimPlaceable = subcompose("scrim") { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user