From 20f96845e1c84a13d6438a5a44609b20b2c1850a Mon Sep 17 00:00:00 2001 From: MM20 <15646950+MM2-0@users.noreply.github.com> Date: Sat, 17 Jun 2023 18:10:37 +0200 Subject: [PATCH] Fix markdown headline rendering --- .../launcher2/ui/component/markdown/MarkdownText.kt | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/component/markdown/MarkdownText.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/component/markdown/MarkdownText.kt index 33b3dea0..91b18825 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/component/markdown/MarkdownText.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/component/markdown/MarkdownText.kt @@ -113,7 +113,7 @@ fun AtxNode(node: ASTNode, text: String, level: Int, onTextChange: (String) -> U else -> MaterialTheme.typography.labelSmall } ) { - ChildNodes(node, text, onTextChange) + ParagraphNode(node, text) } } @@ -236,7 +236,6 @@ fun BlockQuoteNode(node: ASTNode, text: String, onTextChange: (String) -> Unit) LocalContentColor provides MaterialTheme.colorScheme.onSurfaceVariant ) { ChildNodes(node, text, onTextChange) - } } } @@ -272,14 +271,14 @@ fun CodeBlockNode(node: ASTNode, text: String, onTextChange: (String) -> Unit) { @Composable fun CheckboxNode(node: ASTNode, text: String, onTextChange: (String) -> Unit = {}) { - val checkbox = text.substring(node.startOffset, node.endOffset - 1) - val checked = checkbox == "[x]" + val checkbox = text.substring(node.startOffset, node.endOffset) + val checked = checkbox.startsWith("[x]") Checkbox( checked = checked, onCheckedChange = { - val newCheckbox = if (it) "[x]" else "[ ]" - val newText = text.replaceRange(node.startOffset, node.endOffset - 1, newCheckbox) + val newCheckbox = if (it) "[x] " else "[ ] " + val newText = text.replaceRange(node.startOffset, node.endOffset, newCheckbox) onTextChange(newText) }, modifier = Modifier .padding(top = 4.dp, bottom = 4.dp, end = 8.dp)