From 1ba9cefda651905540f7fdaaf538265e08729ccd Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Fri, 30 Sep 2022 02:41:52 +0530 Subject: [PATCH] fix(common): use a custom link style for legibility --- .../dev/msfjarvis/claw/common/ui/Markdown.kt | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/common/src/main/kotlin/dev/msfjarvis/claw/common/ui/Markdown.kt b/common/src/main/kotlin/dev/msfjarvis/claw/common/ui/Markdown.kt index 79a8d178..53d565e8 100644 --- a/common/src/main/kotlin/dev/msfjarvis/claw/common/ui/Markdown.kt +++ b/common/src/main/kotlin/dev/msfjarvis/claw/common/ui/Markdown.kt @@ -6,22 +6,34 @@ import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.ui.Modifier +import androidx.compose.ui.text.SpanStyle +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.style.TextDecoration import com.halilibo.richtext.markdown.Markdown import com.halilibo.richtext.ui.RichText import com.halilibo.richtext.ui.RichTextStyle +import com.halilibo.richtext.ui.string.RichTextStringStyle @Composable fun ThemedRichText( text: String, modifier: Modifier = Modifier, ) { + val linkStyle = + SpanStyle( + background = MaterialTheme.colorScheme.surfaceVariant, + color = MaterialTheme.colorScheme.onSurface, + fontWeight = FontWeight.Bold, + textDecoration = TextDecoration.Underline, + ) + val stringStyle = RichTextStringStyle.Default.copy(linkStyle = linkStyle) CompositionLocalProvider( LocalTextStyle provides MaterialTheme.typography.bodyLarge, LocalContentColor provides MaterialTheme.colorScheme.onBackground, ) { RichText( modifier = modifier, - style = RichTextStyle.Default, + style = RichTextStyle.Default.copy(stringStyle = stringStyle), ) { Markdown(text) }