kopia lustrzana https://github.com/vitorpamplona/amethyst
29 wiersze
872 B
Kotlin
29 wiersze
872 B
Kotlin
package com.vitorpamplona.amethyst.ui.components
|
|
|
|
import androidx.compose.foundation.text.ClickableText
|
|
import androidx.compose.material3.LocalTextStyle
|
|
import androidx.compose.material3.MaterialTheme
|
|
import androidx.compose.runtime.Composable
|
|
import androidx.compose.runtime.remember
|
|
import androidx.compose.ui.platform.LocalUriHandler
|
|
import androidx.compose.ui.text.AnnotatedString
|
|
|
|
@Composable
|
|
fun ClickableUrl(urlText: String, url: String) {
|
|
val uri = LocalUriHandler.current
|
|
|
|
val doubleCheckedUrl = remember(url) {
|
|
if (url.contains("://")) url else "https://$url"
|
|
}
|
|
|
|
val text = remember(urlText) {
|
|
AnnotatedString(urlText)
|
|
}
|
|
|
|
ClickableText(
|
|
text = text,
|
|
onClick = { runCatching { uri.openUri(doubleCheckedUrl) } },
|
|
style = LocalTextStyle.current.copy(color = MaterialTheme.colorScheme.primary)
|
|
)
|
|
}
|