diff --git a/common/src/main/kotlin/dev/msfjarvis/claw/common/comments/CommentNode.kt b/common/src/main/kotlin/dev/msfjarvis/claw/common/comments/CommentNode.kt index 9316de47..244bdb23 100644 --- a/common/src/main/kotlin/dev/msfjarvis/claw/common/comments/CommentNode.kt +++ b/common/src/main/kotlin/dev/msfjarvis/claw/common/comments/CommentNode.kt @@ -40,11 +40,11 @@ internal fun createListNode(comments: List): MutableList { return commentNodes } -internal fun toggleAllExpanded(commentNode: CommentNode): CommentNode { - commentNode.isExpanded = !commentNode.isExpanded +internal fun updateAllExpanded(commentNode: CommentNode, expanded: Boolean): CommentNode { + commentNode.isExpanded = expanded if (commentNode.children.isNotEmpty()) { - commentNode.children.forEach { toggleAllExpanded(it) } + commentNode.children.forEach { updateAllExpanded(it, expanded) } } return commentNode } diff --git a/common/src/main/kotlin/dev/msfjarvis/claw/common/comments/Comments.kt b/common/src/main/kotlin/dev/msfjarvis/claw/common/comments/Comments.kt index 72284d69..350f3061 100644 --- a/common/src/main/kotlin/dev/msfjarvis/claw/common/comments/Comments.kt +++ b/common/src/main/kotlin/dev/msfjarvis/claw/common/comments/Comments.kt @@ -63,7 +63,7 @@ private fun CommentsPageInternal( nodes = commentNodes, htmlConverter = htmlConverter, toggleExpanded = { node -> - val newNode = toggleAllExpanded(node) + val newNode = updateAllExpanded(node, !node.isExpanded) val parent = findTopMostParent(newNode) val index = commentNodes.indexOf(commentNodes.find { it.comment.url == parent.comment.url })