@@ -5,6 +5,7 @@ import androidx.compose.foundation.layout.Column
55import androidx.compose.foundation.layout.Row
66import androidx.compose.foundation.layout.Spacer
77import androidx.compose.foundation.layout.fillMaxSize
8+ import androidx.compose.foundation.layout.fillMaxWidth
89import androidx.compose.foundation.layout.height
910import androidx.compose.foundation.layout.imePadding
1011import androidx.compose.foundation.layout.padding
@@ -20,11 +21,13 @@ import androidx.compose.ui.tooling.preview.Preview
2021import androidx.compose.ui.unit.dp
2122import androidx.lifecycle.compose.collectAsStateWithLifecycle
2223import to.bitkit.R
24+ import to.bitkit.models.PrimaryDisplay
2325import to.bitkit.ui.LocalCurrencies
2426import to.bitkit.ui.components.AmountInput
2527import to.bitkit.ui.components.Display
2628import to.bitkit.ui.components.FillHeight
2729import to.bitkit.ui.components.FillWidth
30+ import to.bitkit.ui.components.Keyboard
2831import to.bitkit.ui.components.MoneySSB
2932import to.bitkit.ui.components.NumberPadActionButton
3033import to.bitkit.ui.components.PrimaryButton
@@ -76,7 +79,8 @@ fun SpendingAmountScreen(
7679 onClickQuarter = viewModel::onClickQuarter,
7780 onClickMaxAmount = viewModel::onClickMaxAmount,
7881 onConfirmAmount = viewModel::onConfirmAmount,
79- onAmountChanged = viewModel::onAmountChanged
82+ onAmountChanged = viewModel::onAmountChanged,
83+ onInputChanged = { input -> } // TODO IMPLEMENT
8084 )
8185}
8286
@@ -90,6 +94,7 @@ private fun Content(
9094 onClickMaxAmount : () -> Unit ,
9195 onConfirmAmount : () -> Unit ,
9296 onAmountChanged : (Long ) -> Unit ,
97+ onInputChanged : (String ) -> Unit ,
9398) {
9499 ScreenColumn {
95100 AppTopBar (
@@ -151,6 +156,22 @@ private fun Content(
151156 )
152157 }
153158 HorizontalDivider ()
159+
160+ VerticalSpacer (16 .dp)
161+
162+ Keyboard (
163+ onClick = { number ->
164+ onInputChanged(if (uiState.input == " 0" ) number else uiState.input + number)
165+ },
166+ onClickBackspace = {
167+ onInputChanged(if (uiState.input.length > 1 ) uiState.input.dropLast(1 ) else " 0" )
168+ },
169+ isDecimal = currencies.primaryDisplay == PrimaryDisplay .FIAT ,
170+ // availableHeight = maxHeight,
171+ modifier = Modifier
172+ .fillMaxWidth()
173+ )
174+
154175 VerticalSpacer (16 .dp)
155176
156177 PrimaryButton (
@@ -179,6 +200,7 @@ private fun Preview() {
179200 onClickMaxAmount = {},
180201 onConfirmAmount = {},
181202 onAmountChanged = {},
203+ onInputChanged = {},
182204 )
183205 }
184206}
0 commit comments