v1.0.9: Fix TODO/checklist layout in read-only mode

This commit is contained in:
2026-07-27 21:37:06 -06:00
parent c1eec3cf18
commit b640f1f063
3 changed files with 34 additions and 2 deletions

View File

@@ -20,8 +20,8 @@ android {
applicationId = "com.docmost.app"
minSdk = 26
targetSdk = 34
versionCode = 9
versionName = "1.0.8"
versionCode = 10
versionName = "1.0.9"
}
signingConfigs {

View File

@@ -2200,6 +2200,10 @@ class PageEditorActivity : AppCompatActivity() {
a {
color: #64b5f6 !important;
}
ul[data-type="taskList"] li > label > input[type="checkbox"] {
border-color: #666 !important;
accent-color: #369FFF;
}
""" else ""
return """
@@ -2235,6 +2239,11 @@ class PageEditorActivity : AppCompatActivity() {
th, td { border: 1px solid #ddd; padding: 8px; white-space: nowrap; }
th { background: #f4f4f4; }
a { color: #0066cc; word-wrap: break-word; overflow-wrap: break-word; }
ul[data-type="taskList"] { list-style: none; padding-left: 0; margin: 8px 0; }
ul[data-type="taskList"] li { display: flex; align-items: flex-start; margin: 4px 0; }
ul[data-type="taskList"] li > label { flex-shrink: 0; margin-right: 8px; display: flex; align-items: center; margin-top: 4px; }
ul[data-type="taskList"] li > label > input[type="checkbox"] { width: 16px; height: 16px; cursor: default; }
ul[data-type="taskList"] li > div { flex: 1; }
$darkModeCss
</style>
<script>

View File

@@ -140,6 +140,29 @@ object ContentConverter {
}
sb.append("</li>")
}
"taskList" -> {
sb.append("<ul data-type=\"taskList\">")
content?.forEach { child ->
if (child is Map<*, *>) {
@Suppress("UNCHECKED_CAST")
sb.append(nodeToHtml(child as Map<String, Any?>))
}
}
sb.append("</ul>")
}
"taskItem" -> {
val checked = (node["attrs"] as? Map<*, *>)?.get("checked") as? Boolean ?: false
val checkedAttr = if (checked) " checked" else ""
sb.append("<li data-type=\"taskItem\" data-checked=\"$checked\">")
sb.append("<label><input type=\"checkbox\"$checkedAttr></label>")
content?.forEach { child ->
if (child is Map<*, *>) {
@Suppress("UNCHECKED_CAST")
sb.append(nodeToHtml(child as Map<String, Any?>))
}
}
sb.append("</li>")
}
"codeBlock" -> {
sb.append("<pre><code>")
content?.forEach { child ->