diff options
author | Iván Ávalos <avalos@disroot.org> | 2023-09-13 16:57:30 -0600 |
---|---|---|
committer | Torsten Grote <t@grobox.de> | 2023-09-26 18:30:52 +0200 |
commit | ed7f77234259113007af8cabeed32a560ccd4f32 (patch) | |
tree | 1f24f06752d036ecd0041922d2f5e4affc558c9a /wallet/src/main/java/net/taler/wallet/ReceiveFundsFragment.kt | |
parent | 9837f4ba999b65d611ce2b4d2d2af2d3d437c116 (diff) | |
download | taler-android-ed7f77234259113007af8cabeed32a560ccd4f32.tar.gz taler-android-ed7f77234259113007af8cabeed32a560ccd4f32.tar.bz2 taler-android-ed7f77234259113007af8cabeed32a560ccd4f32.zip |
[wallet] Refactor amount input into single composable
Diffstat (limited to 'wallet/src/main/java/net/taler/wallet/ReceiveFundsFragment.kt')
-rw-r--r-- | wallet/src/main/java/net/taler/wallet/ReceiveFundsFragment.kt | 25 |
1 files changed, 7 insertions, 18 deletions
diff --git a/wallet/src/main/java/net/taler/wallet/ReceiveFundsFragment.kt b/wallet/src/main/java/net/taler/wallet/ReceiveFundsFragment.kt index dbff6ae..1511128 100644 --- a/wallet/src/main/java/net/taler/wallet/ReceiveFundsFragment.kt +++ b/wallet/src/main/java/net/taler/wallet/ReceiveFundsFragment.kt @@ -29,12 +29,10 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.rememberScrollState -import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.foundation.verticalScroll import androidx.compose.material3.Button import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.OutlinedTextField import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.runtime.Composable @@ -46,7 +44,6 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.platform.ComposeView import androidx.compose.ui.res.stringResource -import androidx.compose.ui.text.input.KeyboardType.Companion.Decimal import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.core.os.bundleOf @@ -55,7 +52,7 @@ import androidx.fragment.app.activityViewModels import androidx.lifecycle.lifecycleScope import androidx.navigation.fragment.findNavController import net.taler.common.Amount -import net.taler.common.Amount.Companion.isValidAmountStr +import net.taler.wallet.compose.AmountInputField import net.taler.wallet.compose.TalerSurface import net.taler.wallet.exchanges.ExchangeItem @@ -134,28 +131,20 @@ private fun ReceiveFundsIntro( modifier = Modifier .padding(16.dp), ) { - OutlinedTextField( + AmountInputField( modifier = Modifier .weight(1f) .padding(end = 16.dp), value = text, - keyboardOptions = KeyboardOptions.Default.copy(keyboardType = Decimal), onValueChange = { input -> isError = false - val filtered = input.filter { it.isDigit() || it == '.' } - if (filtered.endsWith('.') || isValidAmountStr(filtered)) text = filtered + text = input + }, + label = { Text(stringResource(R.string.receive_amount)) }, + supportingText = { + if (isError) Text(stringResource(R.string.receive_amount_invalid)) }, isError = isError, - label = { - if (isError) { - Text( - stringResource(R.string.receive_amount_invalid), - color = MaterialTheme.colorScheme.error, - ) - } else { - Text(stringResource(R.string.receive_amount)) - } - } ) Text( modifier = Modifier, |