Browse Source

Change link text color

feature/bma/flipper
ganfra 2 years ago
parent
commit
029d97aaf8
  1. 12
      features/messages/src/main/java/io/element/android/x/features/messages/components/MessagesTimelineItemTextView.kt
  2. 3
      features/messages/src/main/java/io/element/android/x/features/messages/components/html/HtmlDocument.kt
  3. 2
      libraries/designsystem/src/main/java/io/element/android/x/designsystem/Color.kt

12
features/messages/src/main/java/io/element/android/x/features/messages/components/MessagesTimelineItemTextView.kt

@ -2,20 +2,17 @@ package io.element.android.x.features.messages.components
import android.text.SpannableString import android.text.SpannableString
import android.text.style.URLSpan import android.text.style.URLSpan
import android.text.util.Linkify import android.text.util.Linkify.PHONE_NUMBERS
import android.text.util.Linkify.* import android.text.util.Linkify.WEB_URLS
import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Box
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalUriHandler
import androidx.compose.ui.platform.UriHandler
import androidx.compose.ui.text.AnnotatedString
import androidx.compose.ui.text.SpanStyle import androidx.compose.ui.text.SpanStyle
import androidx.compose.ui.text.buildAnnotatedString import androidx.compose.ui.text.buildAnnotatedString
import androidx.core.text.util.LinkifyCompat import androidx.core.text.util.LinkifyCompat
import io.element.android.x.designsystem.LinkColor
import io.element.android.x.designsystem.components.ClickableLinkText import io.element.android.x.designsystem.components.ClickableLinkText
import io.element.android.x.features.messages.components.html.HtmlDocument import io.element.android.x.features.messages.components.html.HtmlDocument
import io.element.android.x.features.messages.model.content.MessagesTimelineItemTextBasedContent import io.element.android.x.features.messages.model.content.MessagesTimelineItemTextBasedContent
@ -38,10 +35,9 @@ fun MessagesTimelineItemTextView(
interactionSource = interactionSource interactionSource = interactionSource
) )
} else { } else {
val uriHandler = LocalUriHandler.current
Box(modifier) { Box(modifier) {
val linkStyle = SpanStyle( val linkStyle = SpanStyle(
color = Color.Blue, color = LinkColor,
) )
val styledText = remember(content.body) { content.body.linkify(linkStyle) } val styledText = remember(content.body) { content.body.linkify(linkStyle) }
ClickableLinkText( ClickableLinkText(

3
features/messages/src/main/java/io/element/android/x/features/messages/components/html/HtmlDocument.kt

@ -23,6 +23,7 @@ import androidx.compose.ui.text.style.TextDecoration
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp import androidx.compose.ui.unit.sp
import com.google.accompanist.flowlayout.FlowRow import com.google.accompanist.flowlayout.FlowRow
import io.element.android.x.designsystem.LinkColor
import io.element.android.x.designsystem.components.ClickableLinkText import io.element.android.x.designsystem.components.ClickableLinkText
import io.element.android.x.matrix.permalink.PermalinkData import io.element.android.x.matrix.permalink.PermalinkData
import io.element.android.x.matrix.permalink.PermalinkParser import io.element.android.x.matrix.permalink.PermalinkParser
@ -499,7 +500,7 @@ private fun AnnotatedString.Builder.appendLink(link: Element) {
is PermalinkData.FallbackLink -> { is PermalinkData.FallbackLink -> {
pushStringAnnotation(tag = "URL", annotation = link.ownText()) pushStringAnnotation(tag = "URL", annotation = link.ownText())
withStyle( withStyle(
style = SpanStyle(color = Color.Blue) style = SpanStyle(color = LinkColor)
) { ) {
append(link.ownText()) append(link.ownText())
} }

2
libraries/designsystem/src/main/java/io/element/android/x/designsystem/Color.kt

@ -39,3 +39,5 @@ val Vermilion = Color(0xFFFF5B55)
val MessageHighlightLight = Azure val MessageHighlightLight = Azure
// TODO Update color // TODO Update color
val MessageHighlightDark = Azure val MessageHighlightDark = Azure
val LinkColor = Color(0xFF054F6E)
Loading…
Cancel
Save