refactor: migrate LocalClipboardManager to LocalClipboard

Replace deprecated LocalClipboardManager with LocalClipboard across
all 21 files in both amethyst and desktopApp modules.

https://claude.ai/code/session_01FE2NjKxhUYUFRvhyqbYpUH
This commit is contained in:
Claude
2026-03-28 18:46:02 +00:00
parent 72f6e47478
commit 0eb32ae4fb
21 changed files with 43 additions and 43 deletions
@@ -40,7 +40,7 @@ import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalClipboardManager
import androidx.compose.ui.platform.LocalClipboard
import androidx.compose.ui.text.AnnotatedString
import androidx.compose.ui.unit.dp
import com.vitorpamplona.amethyst.R
@@ -119,7 +119,7 @@ fun InformationDialog(
horizontalArrangement = Arrangement.SpaceBetween,
) {
moreInfo?.let {
val clipboardManager = LocalClipboardManager.current
val clipboardManager = LocalClipboard.current
TextButton(onClick = {
clipboardManager.setText(AnnotatedString(it))
}) {
@@ -44,7 +44,7 @@ import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalClipboardManager
import androidx.compose.ui.platform.LocalClipboard
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.text.AnnotatedString
import androidx.compose.ui.text.style.TextDirection
@@ -141,7 +141,7 @@ fun CashuPreviewNew(
toast: (String, String) -> Unit,
) {
val context = LocalContext.current
val clipboardManager = LocalClipboardManager.current
val clipboardManager = LocalClipboard.current
Card(
modifier = CashuCardBorders,
@@ -26,7 +26,7 @@ import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalClipboardManager
import androidx.compose.ui.platform.LocalClipboard
import androidx.compose.ui.text.AnnotatedString
import androidx.compose.ui.text.style.TextOverflow
import com.vitorpamplona.amethyst.ui.navigation.navs.INav
@@ -37,7 +37,7 @@ fun ClickableRelayUrl(
relayUrl: String,
nav: INav,
) {
val clipboardManager = LocalClipboardManager.current
val clipboardManager = LocalClipboard.current
val clickableModifier =
remember(relayUrl) {
Modifier
@@ -33,7 +33,7 @@ import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.platform.LocalClipboardManager
import androidx.compose.ui.platform.LocalClipboard
import androidx.compose.ui.platform.LocalUriHandler
import androidx.compose.ui.text.AnnotatedString
import androidx.compose.ui.text.style.TextOverflow
@@ -59,7 +59,7 @@ fun UrlPreviewCard(
}
if (popupExpanded.value) {
val clipboardManager = LocalClipboardManager.current
val clipboardManager = LocalClipboard.current
M3ActionDialog(
title = stringRes(R.string.link_actions_dialog_title),
onDismiss = { popupExpanded.value = false },
@@ -59,7 +59,7 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.platform.LocalClipboardManager
import androidx.compose.ui.platform.LocalClipboard
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.LocalUriHandler
import androidx.compose.ui.text.AnnotatedString
@@ -771,7 +771,7 @@ fun ShareMediaAction(
title = stringRes(R.string.media_actions_dialog_title),
onDismiss = { if (!isDownloadingVideo.value) onDismiss() },
) {
val clipboardManager = LocalClipboardManager.current
val clipboardManager = LocalClipboard.current
// Copy & Gallery section
if ((videoUri != null && !videoUri.startsWith("file")) || postNostrUri != null) {
@@ -67,7 +67,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.toArgb
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.platform.LocalClipboardManager
import androidx.compose.ui.platform.LocalClipboard
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.vectorResource
import androidx.compose.ui.text.AnnotatedString
@@ -265,7 +265,7 @@ fun CardBody(
) {
val context = LocalContext.current
val primaryLight = lightenColor(MaterialTheme.colorScheme.primary, 0.1f)
val clipboardManager = LocalClipboardManager.current
val clipboardManager = LocalClipboard.current
val scope = rememberCoroutineScope()
val showToast = { stringRes: Int ->
@@ -42,7 +42,7 @@ import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.platform.LocalClipboardManager
import androidx.compose.ui.platform.LocalClipboard
import androidx.compose.ui.text.AnnotatedString
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.tooling.preview.Preview
@@ -129,7 +129,7 @@ fun RenderRelay(
) {
val relayInfo by loadRelayInfo(relay)
val clipboardManager = LocalClipboardManager.current
val clipboardManager = LocalClipboard.current
val clickableModifier =
remember(relay) {
Modifier
@@ -88,7 +88,7 @@ import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalClipboardManager
import androidx.compose.ui.platform.LocalClipboard
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.LocalUriHandler
import androidx.compose.ui.text.input.ImeAction
@@ -147,7 +147,7 @@ fun UpdateZapAmountContent(
accountViewModel: AccountViewModel,
) {
val context = LocalContext.current
val clipboardManager = LocalClipboardManager.current
val clipboardManager = LocalClipboard.current
val uri = LocalUriHandler.current
val zapTypes =
@@ -46,7 +46,7 @@ import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.runtime.setValue
import androidx.compose.ui.platform.LocalClipboardManager
import androidx.compose.ui.platform.LocalClipboard
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.text.AnnotatedString
import androidx.lifecycle.compose.collectAsStateWithLifecycle
@@ -166,7 +166,7 @@ fun NoteDropDownMenu(
title = stringRes(R.string.note_actions_dialog_title),
onDismiss = onDismiss,
) {
val clipboardManager = LocalClipboardManager.current
val clipboardManager = LocalClipboard.current
val actContext = LocalContext.current
val scope = rememberCoroutineScope()
@@ -47,7 +47,7 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.platform.LocalClipboardManager
import androidx.compose.ui.platform.LocalClipboard
import androidx.compose.ui.platform.LocalUriHandler
import androidx.compose.ui.text.AnnotatedString
import androidx.compose.ui.text.font.FontWeight
@@ -93,7 +93,7 @@ fun RenderAppDefinition(
metadata?.let { theAppMetadata ->
Box {
val clipboardManager = LocalClipboardManager.current
val clipboardManager = LocalClipboard.current
val uri = LocalUriHandler.current
if (!theAppMetadata.banner.isNullOrBlank()) {
@@ -37,7 +37,7 @@ import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalClipboardManager
import androidx.compose.ui.platform.LocalClipboard
import androidx.compose.ui.text.AnnotatedString
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
@@ -410,7 +410,7 @@ private fun RelayOptionsAction(
nav: INav,
) {
val isCurrentlyOnTheUsersList by observeUserRelayIntoList(relay, accountViewModel)
val clipboardManager = LocalClipboardManager.current
val clipboardManager = LocalClipboard.current
if (isCurrentlyOnTheUsersList) {
AddRelayButton {
@@ -41,7 +41,7 @@ import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.runtime.setValue
import androidx.compose.ui.platform.LocalClipboardManager
import androidx.compose.ui.platform.LocalClipboard
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.text.AnnotatedString
import androidx.lifecycle.compose.collectAsStateWithLifecycle
@@ -159,7 +159,7 @@ fun BookmarkGroupItemOptionsMenu(
title = stringRes(R.string.bookmark_item_actions_dialog_title),
onDismiss = onDismiss,
) {
val clipboardManager = LocalClipboardManager.current
val clipboardManager = LocalClipboard.current
val actContext = LocalContext.current
val scope = rememberCoroutineScope()
@@ -41,7 +41,7 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalClipboardManager
import androidx.compose.ui.platform.LocalClipboard
import androidx.compose.ui.text.AnnotatedString
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.tooling.preview.Preview
@@ -238,7 +238,7 @@ fun RenderRelayLinePublicChat(
@Suppress("ProduceStateDoesNotAssignValue")
val relayInfo by loadRelayInfo(relay)
val clipboardManager = LocalClipboardManager.current
val clipboardManager = LocalClipboard.current
val clickableModifier =
remember(relay) {
Modifier.combinedClickable(
@@ -71,7 +71,7 @@ import androidx.compose.ui.layout.onGloballyPositioned
import androidx.compose.ui.platform.ClipboardManager
import androidx.compose.ui.platform.LocalAutofill
import androidx.compose.ui.platform.LocalAutofillTree
import androidx.compose.ui.platform.LocalClipboardManager
import androidx.compose.ui.platform.LocalClipboard
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.text.AnnotatedString
import androidx.compose.ui.text.input.ImeAction
@@ -281,7 +281,7 @@ private fun AccountBackupScreenContent(
@Composable
private fun NSecCopyButton(accountViewModel: AccountViewModel) {
val clipboardManager = LocalClipboardManager.current
val clipboardManager = LocalClipboard.current
val context = LocalContext.current
val scope = rememberCoroutineScope()
@@ -329,7 +329,7 @@ private fun EncryptNSecCopyButton(
accountViewModel: AccountViewModel,
password: MutableState<TextFieldValue>,
) {
val clipboardManager = LocalClipboardManager.current
val clipboardManager = LocalClipboard.current
val context = LocalContext.current
val scope = rememberCoroutineScope()
@@ -32,7 +32,7 @@ import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.platform.LocalClipboardManager
import androidx.compose.ui.platform.LocalClipboard
import androidx.compose.ui.text.AnnotatedString
import androidx.compose.ui.unit.dp
import coil3.compose.AsyncImage
@@ -63,7 +63,7 @@ fun DrawBanner(
accountViewModel: AccountViewModel,
) {
if (!banner.isNullOrBlank()) {
val clipboardManager = LocalClipboardManager.current
val clipboardManager = LocalClipboard.current
var zoomImageDialogOpen by remember { mutableStateOf(false) }
AsyncImage(
@@ -28,7 +28,7 @@ import androidx.compose.material.icons.outlined.ContentCopy
import androidx.compose.material.icons.outlined.Report
import androidx.compose.material.icons.outlined.Share
import androidx.compose.runtime.Composable
import androidx.compose.ui.platform.LocalClipboardManager
import androidx.compose.ui.platform.LocalClipboard
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.text.AnnotatedString
import com.vitorpamplona.amethyst.R
@@ -54,7 +54,7 @@ fun UserProfileDropDownMenu(
title = stringRes(R.string.profile_actions_dialog_title),
onDismiss = onDismiss,
) {
val clipboardManager = LocalClipboardManager.current
val clipboardManager = LocalClipboard.current
val context = LocalContext.current
// Share section
@@ -29,7 +29,7 @@ import androidx.compose.material3.HorizontalDivider
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalClipboardManager
import androidx.compose.ui.platform.LocalClipboard
import androidx.compose.ui.text.AnnotatedString
import androidx.compose.ui.unit.dp
import androidx.lifecycle.compose.collectAsStateWithLifecycle
@@ -94,7 +94,7 @@ private fun RenderRelayRow(
accountViewModel: AccountViewModel,
nav: INav,
) {
val clipboardManager = LocalClipboardManager.current
val clipboardManager = LocalClipboard.current
RelayCompose(
relay,
accountViewModel = accountViewModel,
@@ -34,7 +34,7 @@ import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalClipboardManager
import androidx.compose.ui.platform.LocalClipboard
import androidx.compose.ui.text.AnnotatedString
import com.vitorpamplona.amethyst.R
import com.vitorpamplona.amethyst.model.nip11RelayInfo.Nip11CachedRetriever
@@ -67,7 +67,7 @@ fun BasicRelaySetupInfoClickableRow(
accountViewModel: AccountViewModel,
nav: INav,
) {
val clipboardManager = LocalClipboardManager.current
val clipboardManager = LocalClipboard.current
Column(
Modifier
.fillMaxWidth()
@@ -35,7 +35,7 @@ import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalClipboardManager
import androidx.compose.ui.platform.LocalClipboard
import androidx.compose.ui.text.AnnotatedString
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
@@ -54,7 +54,7 @@ fun RelayNameAndRemoveButton(
onDelete: ((BasicRelaySetupInfo) -> Unit)?,
modifier: Modifier,
) {
val clipboardManager = LocalClipboardManager.current
val clipboardManager = LocalClipboard.current
Row(verticalAlignment = Alignment.CenterVertically, modifier = modifier) {
Row(Modifier.weight(1f), verticalAlignment = Alignment.CenterVertically) {
Text(
@@ -69,7 +69,7 @@ import androidx.compose.ui.input.key.isMetaPressed
import androidx.compose.ui.input.key.key
import androidx.compose.ui.input.key.onPreviewKeyEvent
import androidx.compose.ui.input.key.type
import androidx.compose.ui.platform.LocalClipboardManager
import androidx.compose.ui.platform.LocalClipboard
import androidx.compose.ui.unit.dp
import com.vitorpamplona.amethyst.commons.compose.article.ArticleHeader
import com.vitorpamplona.amethyst.commons.compose.article.TableOfContents
@@ -366,7 +366,7 @@ fun ArticleReaderScreen(
val authorName = authorUser?.toBestDisplayName()
val authorPicture = authorUser?.profilePicture()
val clipboardManager = LocalClipboardManager.current
val clipboardManager = LocalClipboard.current
LaunchedEffect(Unit) {
focusRequester.requestFocus()
@@ -49,7 +49,7 @@ import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.platform.LocalClipboardManager
import androidx.compose.ui.platform.LocalClipboard
import androidx.compose.ui.text.AnnotatedString
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.text.style.TextOverflow
@@ -251,7 +251,7 @@ private fun NostrConnectContent(
val scope = rememberCoroutineScope()
@Suppress("DEPRECATION")
val clipboardManager = LocalClipboardManager.current
val clipboardManager = LocalClipboard.current
if (errorMessage != null) {
Text(