mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-12 01:07:46 +00:00
Merge branch 'main' into claude/migrate-autofill-apis-kQZDc
This commit is contained in:
@@ -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,14 +44,13 @@ 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
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import androidx.core.content.ContextCompat.startActivity
|
||||
import androidx.core.net.toUri
|
||||
import com.vitorpamplona.amethyst.R
|
||||
import com.vitorpamplona.amethyst.commons.hashtags.Cashu
|
||||
@@ -142,7 +141,7 @@ fun CashuPreviewNew(
|
||||
toast: (String, String) -> Unit,
|
||||
) {
|
||||
val context = LocalContext.current
|
||||
val clipboardManager = LocalClipboardManager.current
|
||||
val clipboardManager = LocalClipboard.current
|
||||
|
||||
Card(
|
||||
modifier = CashuCardBorders,
|
||||
@@ -217,7 +216,7 @@ fun CashuPreviewNew(
|
||||
val intent = Intent(Intent.ACTION_VIEW, "cashu://${token.token}".toUri())
|
||||
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
|
||||
|
||||
startActivity(context, intent, null)
|
||||
context.startActivity(intent)
|
||||
} catch (e: Exception) {
|
||||
if (e is CancellationException) throw e
|
||||
toast(stringRes(context, R.string.cashu), stringRes(context, R.string.cashu_no_wallet_found))
|
||||
|
||||
+2
-2
@@ -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 },
|
||||
|
||||
+2
-2
@@ -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,10 +46,9 @@ 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.core.content.ContextCompat
|
||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
import com.vitorpamplona.amethyst.R
|
||||
import com.vitorpamplona.amethyst.model.AddressableNote
|
||||
@@ -167,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()
|
||||
|
||||
@@ -223,7 +222,7 @@ fun NoteDropDownMenu(
|
||||
putExtra(Intent.EXTRA_TITLE, stringRes(actContext, R.string.quick_action_share_browser_link))
|
||||
}
|
||||
val shareIntent = Intent.createChooser(sendIntent, stringRes(actContext, R.string.quick_action_share))
|
||||
ContextCompat.startActivity(actContext, shareIntent, null)
|
||||
actContext.startActivity(shareIntent)
|
||||
onDismiss()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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()) {
|
||||
|
||||
@@ -57,7 +57,6 @@ import androidx.compose.ui.text.style.TextAlign
|
||||
import androidx.compose.ui.text.style.TextOverflow
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
import com.vitorpamplona.amethyst.R
|
||||
import com.vitorpamplona.amethyst.commons.model.EmptyTagList
|
||||
@@ -519,7 +518,7 @@ fun ShareCommunityButton(
|
||||
|
||||
val shareIntent =
|
||||
Intent.createChooser(sendIntent, stringRes(actContext, R.string.quick_action_share))
|
||||
ContextCompat.startActivity(actContext, shareIntent, null)
|
||||
actContext.startActivity(shareIntent)
|
||||
},
|
||||
) {
|
||||
Icon(
|
||||
|
||||
@@ -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 {
|
||||
|
||||
+2
-2
@@ -27,7 +27,7 @@ import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.pager.HorizontalPager
|
||||
import androidx.compose.foundation.pager.rememberPagerState
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.ScrollableTabRow
|
||||
import androidx.compose.material3.SecondaryScrollableTabRow
|
||||
import androidx.compose.material3.Tab
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
@@ -110,7 +110,7 @@ private fun RenderBookmarkScreen(
|
||||
topBar = {
|
||||
Column {
|
||||
TopBarWithBackButton(stringRes(id = R.string.bookmarks_title), nav::popBack)
|
||||
ScrollableTabRow(
|
||||
SecondaryScrollableTabRow(
|
||||
containerColor = Color.Transparent,
|
||||
contentColor = MaterialTheme.colorScheme.onBackground,
|
||||
selectedTabIndex = pagerState.currentPage,
|
||||
|
||||
+3
-4
@@ -41,10 +41,9 @@ 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.core.content.ContextCompat
|
||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
import com.vitorpamplona.amethyst.R
|
||||
import com.vitorpamplona.amethyst.model.Note
|
||||
@@ -160,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()
|
||||
|
||||
@@ -237,7 +236,7 @@ fun BookmarkGroupItemOptionsMenu(
|
||||
|
||||
val shareIntent =
|
||||
Intent.createChooser(sendIntent, stringRes(actContext, R.string.quick_action_share))
|
||||
ContextCompat.startActivity(actContext, shareIntent, null)
|
||||
actContext.startActivity(shareIntent)
|
||||
onDismiss()
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -39,8 +39,8 @@ import androidx.compose.material3.IconButton
|
||||
import androidx.compose.material3.ListItem
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.Scaffold
|
||||
import androidx.compose.material3.SecondaryTabRow
|
||||
import androidx.compose.material3.Tab
|
||||
import androidx.compose.material3.TabRow
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.material3.TopAppBarDefaults
|
||||
import androidx.compose.runtime.Composable
|
||||
@@ -279,7 +279,7 @@ fun BookmarkGroupHeaderTabs(
|
||||
}
|
||||
}
|
||||
|
||||
TabRow(
|
||||
SecondaryTabRow(
|
||||
containerColor = Color.Transparent,
|
||||
contentColor = MaterialTheme.colorScheme.onBackground,
|
||||
selectedTabIndex = pagerState.currentPage,
|
||||
|
||||
+2
-2
@@ -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(
|
||||
|
||||
+2
-2
@@ -34,8 +34,8 @@ import androidx.compose.material.icons.outlined.MoveToInbox
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.IconButton
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.SecondaryTabRow
|
||||
import androidx.compose.material3.Tab
|
||||
import androidx.compose.material3.TabRow
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.Immutable
|
||||
@@ -80,7 +80,7 @@ fun MessagesTabHeader(
|
||||
val coroutineScope = rememberCoroutineScope()
|
||||
|
||||
Box(Modifier.fillMaxWidth()) {
|
||||
TabRow(
|
||||
SecondaryTabRow(
|
||||
containerColor = Color.Transparent,
|
||||
contentColor = MaterialTheme.colorScheme.onBackground,
|
||||
selectedTabIndex = pagerState.currentPage,
|
||||
|
||||
+2
-2
@@ -30,9 +30,9 @@ import androidx.compose.foundation.pager.HorizontalPager
|
||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||
import androidx.compose.material3.IconButton
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.SecondaryTabRow
|
||||
import androidx.compose.material3.Surface
|
||||
import androidx.compose.material3.Tab
|
||||
import androidx.compose.material3.TabRow
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
@@ -167,7 +167,7 @@ fun CommunityScreen(
|
||||
}
|
||||
}
|
||||
|
||||
TabRow(
|
||||
SecondaryTabRow(
|
||||
containerColor = Color.Transparent,
|
||||
contentColor = MaterialTheme.colorScheme.onBackground,
|
||||
modifier = TabRowHeight,
|
||||
|
||||
+2
-2
@@ -41,7 +41,7 @@ import androidx.compose.material3.FloatingActionButton
|
||||
import androidx.compose.material3.HorizontalDivider
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.ScrollableTabRow
|
||||
import androidx.compose.material3.SecondaryScrollableTabRow
|
||||
import androidx.compose.material3.Tab
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
@@ -219,7 +219,7 @@ private fun DiscoverPages(
|
||||
topBar = {
|
||||
Column {
|
||||
DiscoveryTopBar(accountViewModel, nav)
|
||||
ScrollableTabRow(
|
||||
SecondaryScrollableTabRow(
|
||||
containerColor = Color.Transparent,
|
||||
contentColor = MaterialTheme.colorScheme.onBackground,
|
||||
selectedTabIndex = pagerState.currentPage,
|
||||
|
||||
+2
-2
@@ -40,10 +40,10 @@ import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.OutlinedTextField
|
||||
import androidx.compose.material3.OutlinedTextFieldDefaults
|
||||
import androidx.compose.material3.Scaffold
|
||||
import androidx.compose.material3.SecondaryTabRow
|
||||
import androidx.compose.material3.Surface
|
||||
import androidx.compose.material3.Switch
|
||||
import androidx.compose.material3.Tab
|
||||
import androidx.compose.material3.TabRow
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.LaunchedEffect
|
||||
@@ -268,7 +268,7 @@ private fun MarkdownPostScreenBody(
|
||||
HorizontalDivider(modifier = Modifier.padding(vertical = Size5dp))
|
||||
|
||||
// Edit / Preview tabs
|
||||
TabRow(
|
||||
SecondaryTabRow(
|
||||
selectedTabIndex = if (postViewModel.showPreview) 1 else 0,
|
||||
) {
|
||||
Tab(
|
||||
|
||||
+2
-2
@@ -39,8 +39,8 @@ import androidx.compose.material3.ExperimentalMaterial3Api
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.IconButton
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.SecondaryTabRow
|
||||
import androidx.compose.material3.Tab
|
||||
import androidx.compose.material3.TabRow
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.material3.TopAppBarDefaults
|
||||
import androidx.compose.runtime.Composable
|
||||
@@ -274,7 +274,7 @@ private fun FollowPackFeedTopBar(
|
||||
)
|
||||
}
|
||||
|
||||
TabRow(
|
||||
SecondaryTabRow(
|
||||
containerColor = Color.Transparent,
|
||||
contentColor = MaterialTheme.colorScheme.onBackground,
|
||||
modifier = TabRowHeight,
|
||||
|
||||
+2
-2
@@ -37,8 +37,8 @@ import androidx.compose.foundation.pager.PagerState
|
||||
import androidx.compose.material3.HorizontalDivider
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.OutlinedButton
|
||||
import androidx.compose.material3.SecondaryTabRow
|
||||
import androidx.compose.material3.Tab
|
||||
import androidx.compose.material3.TabRow
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.Immutable
|
||||
@@ -178,7 +178,7 @@ private fun HomePages(
|
||||
topBar = {
|
||||
Column {
|
||||
HomeTopBar(accountViewModel, nav)
|
||||
TabRow(
|
||||
SecondaryTabRow(
|
||||
containerColor = Color.Transparent,
|
||||
contentColor = MaterialTheme.colorScheme.onBackground,
|
||||
modifier = TabRowHeight,
|
||||
|
||||
+3
-3
@@ -64,7 +64,7 @@ import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.autofill.ContentType
|
||||
import androidx.compose.ui.platform.ClipboardManager
|
||||
import androidx.compose.ui.platform.LocalClipboardManager
|
||||
import androidx.compose.ui.platform.LocalClipboard
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.semantics.contentType
|
||||
import androidx.compose.ui.semantics.semantics
|
||||
@@ -257,7 +257,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()
|
||||
|
||||
@@ -305,7 +305,7 @@ private fun EncryptNSecCopyButton(
|
||||
accountViewModel: AccountViewModel,
|
||||
password: MutableState<TextFieldValue>,
|
||||
) {
|
||||
val clipboardManager = LocalClipboardManager.current
|
||||
val clipboardManager = LocalClipboard.current
|
||||
val context = LocalContext.current
|
||||
val scope = rememberCoroutineScope()
|
||||
|
||||
|
||||
+3
-4
@@ -52,8 +52,8 @@ import androidx.compose.material3.IconButton
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.OutlinedTextField
|
||||
import androidx.compose.material3.Scaffold
|
||||
import androidx.compose.material3.SecondaryTabRow
|
||||
import androidx.compose.material3.Tab
|
||||
import androidx.compose.material3.TabRow
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.material3.TopAppBar
|
||||
import androidx.compose.material3.TopAppBarDefaults
|
||||
@@ -70,7 +70,6 @@ import androidx.compose.ui.text.style.TextOverflow
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.Dp
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
import androidx.lifecycle.viewmodel.compose.viewModel
|
||||
import com.vitorpamplona.amethyst.R
|
||||
@@ -164,7 +163,7 @@ private fun TopAppTabs(
|
||||
viewModel: PeopleListViewModel,
|
||||
pagerState: PagerState,
|
||||
) {
|
||||
TabRow(
|
||||
SecondaryTabRow(
|
||||
containerColor = Color.Transparent,
|
||||
contentColor = MaterialTheme.colorScheme.onBackground,
|
||||
selectedTabIndex = pagerState.currentPage,
|
||||
@@ -448,7 +447,7 @@ private fun ListActionsMenuButton(
|
||||
|
||||
val shareIntent =
|
||||
Intent.createChooser(sendIntent, stringRes(context, R.string.quick_action_share))
|
||||
ContextCompat.startActivity(context, shareIntent, null)
|
||||
context.startActivity(shareIntent)
|
||||
isActionListOpen.value = false
|
||||
}
|
||||
M3ActionRow(icon = Icons.Outlined.Edit, text = stringRes(R.string.follow_set_edit_list_metadata)) {
|
||||
|
||||
+1
-2
@@ -63,7 +63,6 @@ import androidx.compose.ui.text.style.TextOverflow
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.Dp
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
import androidx.lifecycle.viewmodel.compose.viewModel
|
||||
import com.vitorpamplona.amethyst.R
|
||||
@@ -303,7 +302,7 @@ private fun ListActionsMenuButton(
|
||||
|
||||
val shareIntent =
|
||||
Intent.createChooser(sendIntent, stringRes(context, R.string.quick_action_share))
|
||||
ContextCompat.startActivity(context, shareIntent, null)
|
||||
context.startActivity(shareIntent)
|
||||
isActionListOpen.value = false
|
||||
}
|
||||
M3ActionRow(icon = Icons.Outlined.Edit, text = stringRes(R.string.follow_pack_edit_list_metadata)) {
|
||||
|
||||
+2
-2
@@ -36,7 +36,7 @@ import androidx.compose.foundation.rememberScrollState
|
||||
import androidx.compose.foundation.verticalScroll
|
||||
import androidx.compose.material3.HorizontalDivider
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.ScrollableTabRow
|
||||
import androidx.compose.material3.SecondaryScrollableTabRow
|
||||
import androidx.compose.material3.Surface
|
||||
import androidx.compose.material3.Tab
|
||||
import androidx.compose.material3.Text
|
||||
@@ -410,7 +410,7 @@ private fun RenderScreen(
|
||||
|
||||
Column {
|
||||
ProfileHeader(baseUser, appRecommendations, externalIdentities, nav, accountViewModel)
|
||||
ScrollableTabRow(
|
||||
SecondaryScrollableTabRow(
|
||||
containerColor = Color.Transparent,
|
||||
contentColor = MaterialTheme.colorScheme.onBackground,
|
||||
selectedTabIndex = pagerState.currentPage,
|
||||
|
||||
+2
-2
@@ -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(
|
||||
|
||||
+2
-2
@@ -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
|
||||
|
||||
+2
-2
@@ -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,
|
||||
|
||||
+2
-2
@@ -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()
|
||||
|
||||
+2
-2
@@ -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(
|
||||
|
||||
+2
-2
@@ -51,7 +51,7 @@ import androidx.compose.material3.LocalTextStyle
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.OutlinedTextField
|
||||
import androidx.compose.material3.Scaffold
|
||||
import androidx.compose.material3.ScrollableTabRow
|
||||
import androidx.compose.material3.SecondaryScrollableTabRow
|
||||
import androidx.compose.material3.Snackbar
|
||||
import androidx.compose.material3.Tab
|
||||
import androidx.compose.material3.Text
|
||||
@@ -272,7 +272,7 @@ private fun RelayManagementContent(
|
||||
}
|
||||
|
||||
if (tabs.isNotEmpty()) {
|
||||
ScrollableTabRow(
|
||||
SecondaryScrollableTabRow(
|
||||
selectedTabIndex = selectedTab.coerceAtMost(tabs.size - 1),
|
||||
edgePadding = 8.dp,
|
||||
) {
|
||||
|
||||
+2
-2
@@ -38,7 +38,7 @@ import androidx.compose.material3.HorizontalDivider
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.OutlinedTextField
|
||||
import androidx.compose.material3.Scaffold
|
||||
import androidx.compose.material3.ScrollableTabRow
|
||||
import androidx.compose.material3.SecondaryScrollableTabRow
|
||||
import androidx.compose.material3.Switch
|
||||
import androidx.compose.material3.Tab
|
||||
import androidx.compose.material3.Text
|
||||
@@ -171,7 +171,7 @@ fun SecurityFiltersScreen(
|
||||
|
||||
HorizontalDivider(thickness = DividerThickness)
|
||||
|
||||
ScrollableTabRow(
|
||||
SecondaryScrollableTabRow(
|
||||
containerColor = MaterialTheme.colorScheme.background,
|
||||
contentColor = MaterialTheme.colorScheme.onBackground,
|
||||
edgePadding = 8.dp,
|
||||
|
||||
@@ -723,11 +723,13 @@
|
||||
<string name="relay_monitor_rtt_open">Otevření</string>
|
||||
<string name="relay_monitor_rtt_read">Čtení</string>
|
||||
<string name="relay_monitor_rtt_write">Zápis</string>
|
||||
<string name="relay_monitor_rtt">RTT</string>
|
||||
<string name="relay_monitor_network">Síť</string>
|
||||
<string name="relay_monitor_relay_type">Typ</string>
|
||||
<string name="relay_monitor_supported_nips">Podporované NIP</string>
|
||||
<string name="relay_monitor_requirements">Požadavky</string>
|
||||
<string name="relay_monitor_last_check">Poslední kontrola</string>
|
||||
<string name="relay_monitor_ms">%1$d ms</string>
|
||||
<string name="relay_active_subscriptions">Aktivní odběry</string>
|
||||
<string name="relay_active_outbox">Čekající události k odeslání</string>
|
||||
<string name="relay_req_subscriptions">REQ odběry (%1$d)</string>
|
||||
@@ -1620,6 +1622,7 @@
|
||||
<string name="namecoin_device_info">Informace o zařízení</string>
|
||||
<string name="namecoin_tls_info">Informace o TLS</string>
|
||||
<string name="namecoin_no_test_yet">Zatím nebyl proveden žádný test</string>
|
||||
<string name="namecoin_response_time">%dms</string>
|
||||
<string name="namecoin_pin_cert_title">Důvěřovat certifikátu serveru?</string>
|
||||
<string name="namecoin_pin_cert_body">Server %1$s předložil certifikát, který dosud není ve vašem úložišti důvěry. Ověřte, že otisk níže odpovídá tomu, co zveřejnil provozovatel serveru, a poté zvolte, zda mu budete důvěřovat pro budoucí připojení.</string>
|
||||
<string name="namecoin_pin_cert_accept">Důvěřovat</string>
|
||||
@@ -1735,12 +1738,15 @@
|
||||
<string name="goal_closed">Tento cíl byl ukončen</string>
|
||||
<string name="goal_progress">%1$s financováno z %2$s sats cíle</string>
|
||||
<string name="goal_amount_label">Cílová částka (sats)</string>
|
||||
<string name="goal_amount_placeholder">100000</string>
|
||||
<string name="goal_description_label">Popište svůj cíl</string>
|
||||
<string name="goal_description_placeholder">Na co sbíráte prostředky?</string>
|
||||
<string name="goal_summary_label">Krátký souhrn</string>
|
||||
<string name="goal_summary_placeholder">Stručný popis zobrazený v náhledech</string>
|
||||
<string name="goal_image_label">URL obrázku (volitelné)</string>
|
||||
<string name="goal_image_placeholder">https://example.com/image.jpg</string>
|
||||
<string name="goal_website_label">URL webu (volitelné)</string>
|
||||
<string name="goal_website_placeholder">https://example.com</string>
|
||||
<string name="goal_deadline_label">Termín (volitelný)</string>
|
||||
<string name="goal_set_deadline">Nastavit termín</string>
|
||||
<string name="new_goal">Nový cíl</string>
|
||||
@@ -1769,6 +1775,7 @@
|
||||
<string name="vanish_events_empty_hint">Zatím jste neodeslali žádné události Žádost o zmizení.</string>
|
||||
<string name="vanish_target_relays_label">Cílové relé</string>
|
||||
<string name="vanish_all_relays_compliance_hint">Tento požadavek cílí na všechna relé. Použijte obrazovku Žádost o zmizení k otestování konkrétních relé na shodu.</string>
|
||||
<string name="vanish_test_button">Testovat</string>
|
||||
<string name="vanish_compliant">Vyhovující</string>
|
||||
<string name="vanish_non_compliant">Nevyhovující</string>
|
||||
<string name="vanish_test_error">Chyba</string>
|
||||
|
||||
@@ -728,11 +728,13 @@ anz der Bedingungen ist erforderlich</string>
|
||||
<string name="relay_monitor_rtt_open">Öffnen</string>
|
||||
<string name="relay_monitor_rtt_read">Lesen</string>
|
||||
<string name="relay_monitor_rtt_write">Schreiben</string>
|
||||
<string name="relay_monitor_rtt">RTT</string>
|
||||
<string name="relay_monitor_network">Netzwerk</string>
|
||||
<string name="relay_monitor_relay_type">Typ</string>
|
||||
<string name="relay_monitor_supported_nips">Unterstützte NIPs</string>
|
||||
<string name="relay_monitor_requirements">Anforderungen</string>
|
||||
<string name="relay_monitor_last_check">Letzte Prüfung</string>
|
||||
<string name="relay_monitor_ms">%1$d ms</string>
|
||||
<string name="relay_active_subscriptions">Aktive Abonnements</string>
|
||||
<string name="relay_active_outbox">Ausstehende Outbox-Ereignisse</string>
|
||||
<string name="relay_req_subscriptions">REQ-Abonnements (%1$d)</string>
|
||||
@@ -1625,6 +1627,7 @@ anz der Bedingungen ist erforderlich</string>
|
||||
<string name="namecoin_device_info">Geräteinformationen</string>
|
||||
<string name="namecoin_tls_info">TLS-Informationen</string>
|
||||
<string name="namecoin_no_test_yet">Noch kein Test durchgeführt</string>
|
||||
<string name="namecoin_response_time">%dms</string>
|
||||
<string name="namecoin_pin_cert_title">Serverzertifikat vertrauen?</string>
|
||||
<string name="namecoin_pin_cert_body">Der Server %1$s hat ein Zertifikat vorgelegt, das noch nicht in deinem Vertrauensspeicher ist. Überprüfe, ob der Fingerabdruck unten mit dem übereinstimmt, was der Serverbetreiber veröffentlicht hat, und wähle dann, ob du ihm für zukünftige Verbindungen vertrauen möchtest.</string>
|
||||
<string name="namecoin_pin_cert_accept">Vertrauen</string>
|
||||
@@ -1740,12 +1743,15 @@ anz der Bedingungen ist erforderlich</string>
|
||||
<string name="goal_closed">Dieses Ziel wurde geschlossen</string>
|
||||
<string name="goal_progress">%1$s finanziert von %2$s Sats Ziel</string>
|
||||
<string name="goal_amount_label">Zielbetrag (Sats)</string>
|
||||
<string name="goal_amount_placeholder">100000</string>
|
||||
<string name="goal_description_label">Beschreibe dein Ziel</string>
|
||||
<string name="goal_description_placeholder">Wofür sammelst du Geld?</string>
|
||||
<string name="goal_summary_label">Kurze Zusammenfassung</string>
|
||||
<string name="goal_summary_placeholder">Kurze Beschreibung für Vorschauen</string>
|
||||
<string name="goal_image_label">Bild-URL (optional)</string>
|
||||
<string name="goal_image_placeholder">https://example.com/image.jpg</string>
|
||||
<string name="goal_website_label">Website-URL (optional)</string>
|
||||
<string name="goal_website_placeholder">https://beispiel.com</string>
|
||||
<string name="goal_deadline_label">Frist (optional)</string>
|
||||
<string name="goal_set_deadline">Frist festlegen</string>
|
||||
<string name="new_goal">Neues Ziel</string>
|
||||
@@ -1788,6 +1794,7 @@ anz der Bedingungen ist erforderlich</string>
|
||||
<string name="relay_management_tab_pubkeys">Benutzer</string>
|
||||
<string name="relay_management_tab_events">Ereignisse</string>
|
||||
<string name="relay_management_tab_kinds">Arten</string>
|
||||
<string name="relay_management_tab_ips">IPs</string>
|
||||
<string name="relay_management_tab_settings">Einstellungen</string>
|
||||
<string name="relay_management_banned_pubkeys">Gesperrte Benutzer</string>
|
||||
<string name="relay_management_no_banned_pubkeys">Keine gesperrten Benutzer</string>
|
||||
|
||||
@@ -723,11 +723,13 @@
|
||||
<string name="relay_monitor_rtt_open">Abrir</string>
|
||||
<string name="relay_monitor_rtt_read">Leitura</string>
|
||||
<string name="relay_monitor_rtt_write">Escrita</string>
|
||||
<string name="relay_monitor_rtt">RTT</string>
|
||||
<string name="relay_monitor_network">Rede</string>
|
||||
<string name="relay_monitor_relay_type">Tipo</string>
|
||||
<string name="relay_monitor_supported_nips">NIPs Suportados</string>
|
||||
<string name="relay_monitor_requirements">Requisitos</string>
|
||||
<string name="relay_monitor_last_check">Última verificação</string>
|
||||
<string name="relay_monitor_ms">%1$d ms</string>
|
||||
<string name="relay_active_subscriptions">Assinaturas Ativas</string>
|
||||
<string name="relay_active_outbox">Eventos Pendentes na Outbox</string>
|
||||
<string name="relay_req_subscriptions">Assinaturas REQ (%1$d)</string>
|
||||
@@ -1620,6 +1622,7 @@
|
||||
<string name="namecoin_device_info">Informações do Dispositivo</string>
|
||||
<string name="namecoin_tls_info">Informações TLS</string>
|
||||
<string name="namecoin_no_test_yet">Nenhum teste realizado ainda</string>
|
||||
<string name="namecoin_response_time">%dms</string>
|
||||
<string name="namecoin_pin_cert_title">Confiar no Certificado do Servidor?</string>
|
||||
<string name="namecoin_pin_cert_body">O servidor %1$s apresentou um certificado que ainda não está no seu armazenamento de confiança. Verifique se a impressão digital abaixo corresponde ao que o operador do servidor publicou e escolha se deseja confiar nele para conexões futuras.</string>
|
||||
<string name="namecoin_pin_cert_accept">Confiar</string>
|
||||
@@ -1735,12 +1738,15 @@
|
||||
<string name="goal_closed">Esta meta foi encerrada</string>
|
||||
<string name="goal_progress">%1$s financiado de %2$s sats da meta</string>
|
||||
<string name="goal_amount_label">Valor da meta (sats)</string>
|
||||
<string name="goal_amount_placeholder">100000</string>
|
||||
<string name="goal_description_label">Descreva sua meta</string>
|
||||
<string name="goal_description_placeholder">Para que você está arrecadando fundos?</string>
|
||||
<string name="goal_summary_label">Resumo curto</string>
|
||||
<string name="goal_summary_placeholder">Breve descrição mostrada nas prévias</string>
|
||||
<string name="goal_image_label">URL da imagem (opcional)</string>
|
||||
<string name="goal_image_placeholder">https://exemplo.com.br/imagem.jpg</string>
|
||||
<string name="goal_website_label">URL do site (opcional)</string>
|
||||
<string name="goal_website_placeholder">https://exemplo.com</string>
|
||||
<string name="goal_deadline_label">Prazo (opcional)</string>
|
||||
<string name="goal_set_deadline">Definir um prazo</string>
|
||||
<string name="new_goal">Nova Meta</string>
|
||||
@@ -1783,6 +1789,7 @@
|
||||
<string name="relay_management_tab_pubkeys">Usuários</string>
|
||||
<string name="relay_management_tab_events">Eventos</string>
|
||||
<string name="relay_management_tab_kinds">Tipos</string>
|
||||
<string name="relay_management_tab_ips">IPs</string>
|
||||
<string name="relay_management_tab_settings">Configurações</string>
|
||||
<string name="relay_management_banned_pubkeys">Usuários Banidos</string>
|
||||
<string name="relay_management_no_banned_pubkeys">Nenhum usuário banido</string>
|
||||
|
||||
@@ -722,11 +722,13 @@
|
||||
<string name="relay_monitor_rtt_open">Öppna</string>
|
||||
<string name="relay_monitor_rtt_read">Läs</string>
|
||||
<string name="relay_monitor_rtt_write">Skriv</string>
|
||||
<string name="relay_monitor_rtt">RTT</string>
|
||||
<string name="relay_monitor_network">Nätverk</string>
|
||||
<string name="relay_monitor_relay_type">Typ</string>
|
||||
<string name="relay_monitor_supported_nips">NIP som stöds</string>
|
||||
<string name="relay_monitor_requirements">Krav</string>
|
||||
<string name="relay_monitor_last_check">Senaste kontroll</string>
|
||||
<string name="relay_monitor_ms">%1$d ms</string>
|
||||
<string name="relay_active_subscriptions">Aktiva prenumerationer</string>
|
||||
<string name="relay_active_outbox">Väntande utgående händelser</string>
|
||||
<string name="relay_req_subscriptions">REQ-prenumerationer (%1$d)</string>
|
||||
@@ -1619,6 +1621,7 @@
|
||||
<string name="namecoin_device_info">Enhetsinformation</string>
|
||||
<string name="namecoin_tls_info">TLS-information</string>
|
||||
<string name="namecoin_no_test_yet">Inget test har körts ännu</string>
|
||||
<string name="namecoin_response_time">%dms</string>
|
||||
<string name="namecoin_pin_cert_title">Lita på servercertifikat?</string>
|
||||
<string name="namecoin_pin_cert_body">Servern %1$s presenterade ett certifikat som ännu inte finns i ditt förtroendelager. Verifiera att fingeravtrycket nedan matchar det som serveroperatören publicerat och välj sedan om du vill lita på det för framtida anslutningar.</string>
|
||||
<string name="namecoin_pin_cert_accept">Lita på</string>
|
||||
@@ -1734,12 +1737,15 @@
|
||||
<string name="goal_closed">Detta mål har avslutats</string>
|
||||
<string name="goal_progress">%1$s finansierat av %2$s sats mål</string>
|
||||
<string name="goal_amount_label">Målbelopp (sats)</string>
|
||||
<string name="goal_amount_placeholder">100000</string>
|
||||
<string name="goal_description_label">Beskriv ditt mål</string>
|
||||
<string name="goal_description_placeholder">Vad samlar du in pengar till?</string>
|
||||
<string name="goal_summary_label">Kort sammanfattning</string>
|
||||
<string name="goal_summary_placeholder">Kort beskrivning som visas i förhandsvisningar</string>
|
||||
<string name="goal_image_label">Bild-URL (valfritt)</string>
|
||||
<string name="goal_image_placeholder">https://example.com/image.jpg</string>
|
||||
<string name="goal_website_label">Webbplats-URL (valfritt)</string>
|
||||
<string name="goal_website_placeholder">https://exempel.se</string>
|
||||
<string name="goal_deadline_label">Tidsfrist (valfritt)</string>
|
||||
<string name="goal_set_deadline">Sätt en tidsfrist</string>
|
||||
<string name="new_goal">Nytt mål</string>
|
||||
|
||||
+2
-2
@@ -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()
|
||||
|
||||
+2
-2
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user