From 349156f3806ea67daf9a01a0ca19b9f8af702227 Mon Sep 17 00:00:00 2001 From: davotoula Date: Mon, 13 Oct 2025 18:40:57 +0200 Subject: [PATCH] fix: Only render as gallery if all segments are images --- .../amethyst/ui/components/ParagraphParser.kt | 31 ++++++++++++------- 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/components/ParagraphParser.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/components/ParagraphParser.kt index a943b37af..e26cefc06 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/components/ParagraphParser.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/components/ParagraphParser.kt @@ -197,19 +197,26 @@ class ParagraphParser { j++ } - if (imageSegments.size > 1) { - val imageContents = - imageSegments - .mapNotNull { segment -> - val imageUrl = segment.segmentText - context.state.imagesForPager[imageUrl] as? MediaUrlImage - }.toImmutableList() - - if (imageContents.isNotEmpty()) { - renderGallery(imageContents, context.accountViewModel) - } - } else { + 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 + } + + // Render gallery only if all segments are images + if (resolvedImages.size == imageSegments.size) { + renderGallery( + resolvedImages.toImmutableList(), + context.accountViewModel, + ) + } else { + imageSegments.forEach { segment -> + renderSingleWord(segment, context) + } + } } i = j // jump past processed run