fix(common): use a custom link style for legibility

This commit is contained in:
Harsh Shandilya 2022-09-30 02:41:52 +05:30
parent e483ceea5f
commit 1ba9cefda6
No known key found for this signature in database

View file

@ -6,22 +6,34 @@ import androidx.compose.material3.MaterialTheme
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.Modifier 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.markdown.Markdown
import com.halilibo.richtext.ui.RichText import com.halilibo.richtext.ui.RichText
import com.halilibo.richtext.ui.RichTextStyle import com.halilibo.richtext.ui.RichTextStyle
import com.halilibo.richtext.ui.string.RichTextStringStyle
@Composable @Composable
fun ThemedRichText( fun ThemedRichText(
text: String, text: String,
modifier: Modifier = Modifier, 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( CompositionLocalProvider(
LocalTextStyle provides MaterialTheme.typography.bodyLarge, LocalTextStyle provides MaterialTheme.typography.bodyLarge,
LocalContentColor provides MaterialTheme.colorScheme.onBackground, LocalContentColor provides MaterialTheme.colorScheme.onBackground,
) { ) {
RichText( RichText(
modifier = modifier, modifier = modifier,
style = RichTextStyle.Default, style = RichTextStyle.Default.copy(stringStyle = stringStyle),
) { ) {
Markdown(text) Markdown(text)
} }