fix: Only render as gallery if all segments are images

This commit is contained in:
davotoula
2025-10-13 18:40:57 +02:00
parent 133c897731
commit 349156f380

View File

@@ -197,19 +197,26 @@ class ParagraphParser {
j++
}
if (imageSegments.size > 1) {
val imageContents =
imageSegments
.mapNotNull { segment ->
if (imageSegments.size <= 1) {
renderSingleWord(imageSegments.firstOrNull() ?: word, context)
} else {
val resolvedImages =
imageSegments.mapNotNull { segment ->
val imageUrl = segment.segmentText
context.state.imagesForPager[imageUrl] as? MediaUrlImage
}.toImmutableList()
if (imageContents.isNotEmpty()) {
renderGallery(imageContents, context.accountViewModel)
}
// Render gallery only if all segments are images
if (resolvedImages.size == imageSegments.size) {
renderGallery(
resolvedImages.toImmutableList(),
context.accountViewModel,
)
} else {
renderSingleWord(imageSegments.firstOrNull() ?: word, context)
imageSegments.forEach { segment ->
renderSingleWord(segment, context)
}
}
}
i = j // jump past processed run