Skip to content

Commit adf8d8b

Browse files
committed
fix: conversion
1 parent 211e34e commit adf8d8b

File tree

1 file changed

+21
-8
lines changed

1 file changed

+21
-8
lines changed

app/src/main/java/to/bitkit/ui/screens/wallets/send/SendAmountScreen.kt

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,20 +10,23 @@ import androidx.compose.foundation.layout.padding
1010
import androidx.compose.foundation.layout.width
1111
import androidx.compose.material3.HorizontalDivider
1212
import androidx.compose.runtime.Composable
13+
import androidx.compose.runtime.getValue
14+
import androidx.compose.runtime.mutableStateOf
15+
import androidx.compose.runtime.remember
16+
import androidx.compose.runtime.setValue
1317
import androidx.compose.ui.Alignment
1418
import androidx.compose.ui.Modifier
1519
import androidx.compose.ui.res.stringResource
1620
import androidx.compose.ui.tooling.preview.Preview
1721
import androidx.compose.ui.unit.dp
18-
import okhttp3.internal.toLongOrDefault
1922
import to.bitkit.R
2023
import to.bitkit.models.NodeLifecycleState
2124
import to.bitkit.models.PrimaryDisplay
2225
import to.bitkit.ui.LocalBalances
2326
import to.bitkit.ui.LocalCurrencies
24-
import to.bitkit.ui.components.BalanceHeaderView
2527
import to.bitkit.ui.components.Keyboard
2628
import to.bitkit.ui.components.MoneySSB
29+
import to.bitkit.ui.components.NumberPadTextField
2730
import to.bitkit.ui.components.OutlinedColorButton
2831
import to.bitkit.ui.components.PrimaryButton
2932
import to.bitkit.ui.components.SyncNodeView
@@ -48,6 +51,8 @@ fun SendAmountScreen(
4851
onBack: () -> Unit,
4952
onEvent: (SendEvent) -> Unit,
5053
) {
54+
var input: String by remember { mutableStateOf("") }
55+
5156
Column(
5257
modifier = Modifier
5358
.fillMaxSize()
@@ -64,7 +69,7 @@ fun SendAmountScreen(
6469
Column(
6570
modifier = Modifier.padding(horizontal = 16.dp)
6671
) {
67-
BalanceHeaderView(sats = uiState.amountInput.toLongOrDefault(0), modifier = Modifier.fillMaxWidth())
72+
NumberPadTextField(input = input, modifier = Modifier.fillMaxWidth())
6873

6974
Spacer(modifier = Modifier.height(24.dp))
7075

@@ -117,8 +122,14 @@ fun SendAmountScreen(
117122
HorizontalDivider(modifier = Modifier.padding(vertical = 24.dp))
118123

119124
Keyboard(
120-
onClick = { number -> onEvent(SendEvent.AmountChange(number)) },
121-
onClickBackspace = { onEvent(SendEvent.BackSpaceClick) },
125+
onClick = { number ->
126+
if (input == "0") input = number else input+=number
127+
onEvent(SendEvent.AmountChange(number))
128+
},
129+
onClickBackspace = {
130+
input = if (input.length > 1) input.dropLast(1) else "0"
131+
onEvent(SendEvent.BackSpaceClick)
132+
},
122133
isDecimal = currencyUiState.primaryDisplay == PrimaryDisplay.FIAT,
123134
modifier = Modifier.fillMaxWidth(),
124135
)
@@ -134,9 +145,11 @@ fun SendAmountScreen(
134145
Spacer(modifier = Modifier.height(16.dp))
135146
}
136147
} else {
137-
SyncNodeView(modifier = Modifier
138-
.fillMaxWidth()
139-
.weight(1f))
148+
SyncNodeView(
149+
modifier = Modifier
150+
.fillMaxWidth()
151+
.weight(1f)
152+
)
140153
}
141154
}
142155
}

0 commit comments

Comments
 (0)