From 535624bf220074dbe7aa191f031410a70e3ed3d2 Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Thu, 30 May 2024 13:04:02 +0530 Subject: [PATCH] fix(deps): upgrade to Compose 1.7 betas --- CHANGELOG.md | 1 + .../msfjarvis/claw/common/user/UserProfile.kt | 61 ++++--------------- gradle/libs.versions.toml | 2 +- 3 files changed, 15 insertions(+), 49 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ec38e07f..8802b5ed 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - Upgrade to Kotlin 2.0.0 +- Upgrade to Compose May beta releases ## [1.47.0] - 2024-05-14 diff --git a/common/src/main/kotlin/dev/msfjarvis/claw/common/user/UserProfile.kt b/common/src/main/kotlin/dev/msfjarvis/claw/common/user/UserProfile.kt index 016f8247..4639c1fe 100644 --- a/common/src/main/kotlin/dev/msfjarvis/claw/common/user/UserProfile.kt +++ b/common/src/main/kotlin/dev/msfjarvis/claw/common/user/UserProfile.kt @@ -13,11 +13,8 @@ import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.requiredSize import androidx.compose.foundation.shape.CircleShape -import androidx.compose.foundation.text.ClickableText import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.AccountCircle -import androidx.compose.material3.LocalContentColor -import androidx.compose.material3.LocalTextStyle import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Surface import androidx.compose.material3.Text @@ -27,11 +24,8 @@ import androidx.compose.runtime.produceState import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip -import androidx.compose.ui.text.SpanStyle +import androidx.compose.ui.text.LinkAnnotation import androidx.compose.ui.text.buildAnnotatedString -import androidx.compose.ui.text.font.FontWeight -import androidx.compose.ui.text.style.TextDecoration -import androidx.compose.ui.text.withStyle import androidx.compose.ui.unit.dp import com.github.michaelbull.result.coroutines.runSuspendCatching import com.github.michaelbull.result.fold @@ -110,47 +104,18 @@ private fun UserProfileInternal( Text(text = user.username, style = MaterialTheme.typography.displaySmall) ThemedRichText(text = user.about) user.invitedBy?.let { invitedBy -> - val linkTextStyle = - with(LocalTextStyle.current) { - SpanStyle( - LocalContentColor.current, - fontSize, - fontWeight, - fontStyle, - fontSynthesis, - fontFamily, - fontFeatureSettings, - letterSpacing, - baselineShift, - textGeometricTransform, - localeList, - background, - textDecoration, - shadow, - ) - } - val text = buildAnnotatedString { - withStyle(linkTextStyle) { append("Invited by ") } - pushStringAnnotation(tag = "URL", annotation = invitedBy) - withStyle( - linkTextStyle.copy( - textDecoration = TextDecoration.Underline, - fontWeight = FontWeight.Bold, - ) - ) { - append(invitedBy) - } - pop() - } - - ClickableText( - text = text, - onClick = { offset -> - text - .getStringAnnotations(tag = "URL", start = offset, end = offset) - .firstOrNull() - ?.let { annotation -> openUserProfile(annotation.item) } - }, + Text( + text = + buildAnnotatedString { + append("Invited by ") + pushLink( + LinkAnnotation.Clickable( + tag = "username", + linkInteractionListener = { openUserProfile(invitedBy) }, + ) + ) + append(invitedBy) + } ) } } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index ad63dfd9..9d935dff 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -27,7 +27,7 @@ androidx-activity-compose = "androidx.activity:activity-compose:1.9.0" androidx-benchmark-macro-junit4 = { module = "androidx.benchmark:benchmark-macro-junit4", version.ref = "benchmark" } androidx-browser = "androidx.browser:browser:1.8.0" androidx-compose-animation = { module = "androidx.compose.animation:animation" } -androidx-compose-bom = "androidx.compose:compose-bom:2024.05.00" +androidx-compose-bom = "dev.chrisbanes.compose:compose-bom:2024.05.00-alpha03" androidx-compose-foundation = { module = "androidx.compose.foundation:foundation" } androidx-compose-glance = { module = "androidx.glance:glance-appwidget", version.ref = "glance" } androidx-compose-glance-m3 = { module = "androidx.glance:glance-material3", version.ref = "glance" }