diff --git a/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/comments/CommentEntry.kt b/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/comments/CommentEntry.kt index d34c8c08..fa1a02c8 100644 --- a/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/comments/CommentEntry.kt +++ b/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/comments/CommentEntry.kt @@ -7,12 +7,17 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.material.Divider +import androidx.compose.material.LocalContentColor +import androidx.compose.material.LocalTextStyle +import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Surface import androidx.compose.runtime.Composable +import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp import com.halilibo.richtext.markdown.Markdown +import com.halilibo.richtext.ui.RichTextScope import com.halilibo.richtext.ui.material.MaterialRichText import dev.msfjarvis.claw.common.posts.PostDetails import dev.msfjarvis.claw.common.posts.SubmitterName @@ -20,6 +25,17 @@ import dev.msfjarvis.claw.common.posts.toDbModel import dev.msfjarvis.claw.model.Comment import dev.msfjarvis.claw.model.LobstersPostDetails +@Composable +fun ThemedRichText( + modifier: Modifier = Modifier, + content: @Composable RichTextScope.() -> Unit, +) { + CompositionLocalProvider( + LocalTextStyle provides MaterialTheme.typography.bodyLarge, + LocalContentColor provides MaterialTheme.colorScheme.onBackground, + ) { MaterialRichText(modifier) { content() } } +} + @Composable fun CommentsHeader( postDetails: LobstersPostDetails, @@ -33,7 +49,7 @@ fun CommentsHeader( PostDetails( post = postDetails.toDbModel(), ) - MaterialRichText { Markdown(htmlConverter.convertHTMLToMarkdown(postDetails.description)) } + ThemedRichText { Markdown(htmlConverter.convertHTMLToMarkdown(postDetails.description)) } } } } @@ -59,7 +75,7 @@ fun CommentEntry( avatarUrl = "https://lobste.rs/${comment.user.avatarUrl}", contentDescription = "User avatar for ${comment.user.username}", ) - MaterialRichText(modifier = Modifier.padding(top = 8.dp)) { + ThemedRichText(modifier = Modifier.padding(top = 8.dp)) { Markdown(htmlConverter.convertHTMLToMarkdown(comment.comment)) } }