diff --git a/app/src/main/java/com/shaarit/core/util/MarkdownUtils.kt b/app/src/main/java/com/shaarit/core/util/MarkdownUtils.kt new file mode 100644 index 0000000..7f5e28b --- /dev/null +++ b/app/src/main/java/com/shaarit/core/util/MarkdownUtils.kt @@ -0,0 +1,19 @@ +package com.shaarit.core.util + +/** + * Prétraitement du Markdown pour corriger l'affichage des éléments + * non supportés nativement par compose-markdown (checkboxes, etc.) + */ +object MarkdownUtils { + + /** + * Convertit les checkboxes Markdown (- [ ] et - [x]) en caractères Unicode visuels. + * Gère aussi les variantes avec * au lieu de -. + */ + fun preprocessMarkdown(markdown: String): String { + return markdown + .replace(Regex("""^(\s*[-*])\s+\[x]\s""", RegexOption.MULTILINE), "$1 ☑ ") + .replace(Regex("""^(\s*[-*])\s+\[X]\s""", RegexOption.MULTILINE), "$1 ☑ ") + .replace(Regex("""^(\s*[-*])\s+\[ ]\s""", RegexOption.MULTILINE), "$1 ☐ ") + } +} diff --git a/app/src/main/java/com/shaarit/presentation/feed/LinkItemViews.kt b/app/src/main/java/com/shaarit/presentation/feed/LinkItemViews.kt index 675e0b8..5537353 100644 --- a/app/src/main/java/com/shaarit/presentation/feed/LinkItemViews.kt +++ b/app/src/main/java/com/shaarit/presentation/feed/LinkItemViews.kt @@ -44,6 +44,7 @@ import com.shaarit.ui.components.GlassCard import com.shaarit.ui.components.TagChip import com.shaarit.ui.theme.Typography import dev.jeziellago.compose.markdowntext.MarkdownText +import com.shaarit.core.util.MarkdownUtils import coil.compose.AsyncImage import coil.request.ImageRequest import androidx.compose.ui.layout.ContentScale @@ -960,7 +961,7 @@ fun LinkDetailsView( // Description if (link.description.isNotBlank()) { MarkdownText( - markdown = link.description, + markdown = MarkdownUtils.preprocessMarkdown(link.description), style = MaterialTheme.typography.bodyMedium.copy(color = MaterialTheme.colorScheme.onBackground), modifier = Modifier.fillMaxWidth() ) diff --git a/app/src/main/java/com/shaarit/ui/components/MarkdownEditor.kt b/app/src/main/java/com/shaarit/ui/components/MarkdownEditor.kt index e5743fb..076fd04 100644 --- a/app/src/main/java/com/shaarit/ui/components/MarkdownEditor.kt +++ b/app/src/main/java/com/shaarit/ui/components/MarkdownEditor.kt @@ -42,6 +42,7 @@ import androidx.compose.ui.unit.sp import androidx.compose.ui.zIndex import com.shaarit.ui.theme.Typography import dev.jeziellago.compose.markdowntext.MarkdownText +import com.shaarit.core.util.MarkdownUtils import java.text.SimpleDateFormat import java.util.* @@ -657,7 +658,7 @@ fun MarkdownPreview( ) } else { MarkdownText( - markdown = markdown, + markdown = MarkdownUtils.preprocessMarkdown(markdown), color = MaterialTheme.colorScheme.onBackground, modifier = Modifier.fillMaxWidth() ) @@ -901,7 +902,7 @@ fun MarkdownReader( .verticalScroll(rememberScrollState()) ) { MarkdownText( - markdown = markdown, + markdown = MarkdownUtils.preprocessMarkdown(markdown), color = androidx.compose.ui.graphics.Color.White, modifier = Modifier.fillMaxWidth() ) diff --git a/version.properties b/version.properties index 826c26b..deb1e4a 100644 --- a/version.properties +++ b/version.properties @@ -1,3 +1,3 @@ -#Thu Feb 12 12:09:07 2026 -VERSION_NAME=1.3.0 -VERSION_CODE=12 \ No newline at end of file +#Thu Feb 12 20:32:53 2026 +VERSION_NAME=1.4.0 +VERSION_CODE=13 \ No newline at end of file