Merge pull request #864 from greenart7c3/main

add paste from clipboard button to nwc
This commit is contained in:
Vitor Pamplona
2024-05-16 13:47:19 -04:00
committed by GitHub

View File

@@ -47,6 +47,7 @@ import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.foundation.text.KeyboardOptions
import androidx.compose.foundation.verticalScroll import androidx.compose.foundation.verticalScroll
import androidx.compose.material.icons.Icons import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.ContentPaste
import androidx.compose.material.icons.outlined.Visibility import androidx.compose.material.icons.outlined.Visibility
import androidx.compose.material.icons.outlined.VisibilityOff import androidx.compose.material.icons.outlined.VisibilityOff
import androidx.compose.material3.Button import androidx.compose.material3.Button
@@ -63,11 +64,11 @@ import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.getValue import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.runtime.setValue import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalClipboardManager
import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.LocalUriHandler import androidx.compose.ui.platform.LocalUriHandler
import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.painterResource
@@ -114,6 +115,13 @@ class UpdateZapAmountViewModel(val account: Account) : ViewModel() {
var walletConnectSecret by mutableStateOf(TextFieldValue("")) var walletConnectSecret by mutableStateOf(TextFieldValue(""))
var selectedZapType by mutableStateOf(LnZapEvent.ZapType.PRIVATE) var selectedZapType by mutableStateOf(LnZapEvent.ZapType.PRIVATE)
fun copyFromClipboard(text: String) {
if (text.isBlank()) {
return
}
updateNIP47(text)
}
fun load() { fun load() {
this.amountSet = account.zapAmountChoices this.amountSet = account.zapAmountChoices
this.walletConnectPubkey = this.walletConnectPubkey =
@@ -224,7 +232,7 @@ fun UpdateZapAmountDialog(
accountViewModel: AccountViewModel, accountViewModel: AccountViewModel,
) { ) {
val context = LocalContext.current val context = LocalContext.current
val scope = rememberCoroutineScope() val clipboardManager = LocalClipboardManager.current
val postViewModel: UpdateZapAmountViewModel = val postViewModel: UpdateZapAmountViewModel =
viewModel( viewModel(
@@ -450,6 +458,19 @@ fun UpdateZapAmountDialog(
) )
} }
IconButton(
onClick = {
clipboardManager.getText()?.let { postViewModel.copyFromClipboard(it.text) }
},
) {
Icon(
Icons.Default.ContentPaste,
contentDescription = stringResource(id = R.string.paste_from_clipboard),
modifier = Modifier.size(24.dp),
tint = MaterialTheme.colorScheme.primary,
)
}
IconButton(onClick = { qrScanning = true }) { IconButton(onClick = { qrScanning = true }) {
Icon( Icon(
painter = painterResource(R.drawable.ic_qrcode), painter = painterResource(R.drawable.ic_qrcode),