From c96cf4b11a7eb976682cb08398233b56f05e441e Mon Sep 17 00:00:00 2001 From: Secozzi <49240133+secozzi@users.noreply.github.com> Date: Sun, 10 Aug 2025 00:06:25 +0545 Subject: [PATCH] Fix height of description not being calculated correctly if images are present (#2382) (cherry picked from commit c6a96b3970f0ba4643f438155653790973fa00f6) --- .../manga/components/MangaInfoHeader.kt | 34 ++++++------------- 1 file changed, 10 insertions(+), 24 deletions(-) diff --git a/app/src/main/java/eu/kanade/presentation/manga/components/MangaInfoHeader.kt b/app/src/main/java/eu/kanade/presentation/manga/components/MangaInfoHeader.kt index 29309e31a..fa50bc44d 100644 --- a/app/src/main/java/eu/kanade/presentation/manga/components/MangaInfoHeader.kt +++ b/app/src/main/java/eu/kanade/presentation/manga/components/MangaInfoHeader.kt @@ -52,6 +52,7 @@ import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableIntStateOf import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.saveable.rememberSaveable @@ -67,6 +68,7 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.layout.Layout +import androidx.compose.ui.layout.onSizeChanged import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.text.LinkAnnotation import androidx.compose.ui.text.SpanStyle @@ -656,6 +658,7 @@ private fun MangaSummary( targetValue = if (expanded) 1f else 0f, label = "summary", ) + var infoHeight by remember { mutableIntStateOf(0) } Layout( modifier = modifier.clipToBounds(), contents = listOf( @@ -668,25 +671,11 @@ private fun MangaSummary( ) }, { - Column { - MangaNotesSection( - content = notes, - expanded = true, - onEditNotes = onEditNotesClicked, - ) - MarkdownRender( - content = description, - modifier = Modifier.secondaryItemAlpha(), - annotator = descriptionAnnotator( - loadImages = loadImages, - linkStyle = getMarkdownLinkStyle().toSpanStyle(), - ), - loadImages = loadImages, - ) - } - }, - { - Column { + Column( + modifier = Modifier.onSizeChanged { size -> + infoHeight = size.height + }, + ) { MangaNotesSection( content = notes, expanded = expanded, @@ -723,14 +712,11 @@ private fun MangaSummary( } }, ), - ) { (shrunk, expanded, actual, scrim), constraints -> + ) { (shrunk, actual, scrim), constraints -> val shrunkHeight = shrunk.single() .measure(constraints) .height - val expandedHeight = expanded.single() - .measure(constraints) - .height - val heightDelta = expandedHeight - shrunkHeight + val heightDelta = infoHeight - shrunkHeight val scrimHeight = 24.dp.roundToPx() val actualPlaceable = actual.single()