Skip to content

Commit cad937c

Browse files
committed
feat: implement BalanceHeaderEditable WIP
1 parent a688b47 commit cad937c

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed

app/src/main/java/to/bitkit/ui/components/BalanceHeaderView.kt

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ import androidx.compose.foundation.layout.fillMaxWidth
88
import androidx.compose.foundation.layout.height
99
import androidx.compose.foundation.layout.padding
1010
import androidx.compose.runtime.Composable
11+
import androidx.compose.runtime.LaunchedEffect
12+
import androidx.compose.runtime.mutableLongStateOf
13+
import androidx.compose.runtime.remember
1114
import androidx.compose.ui.Alignment
1215
import androidx.compose.ui.Modifier
1316
import androidx.compose.ui.tooling.preview.Preview
@@ -16,6 +19,12 @@ import to.bitkit.models.ConvertedAmount
1619
import to.bitkit.models.PrimaryDisplay
1720
import to.bitkit.ui.LocalCurrencies
1821
import to.bitkit.ui.currencyViewModel
22+
import androidx.compose.runtime.getValue
23+
import androidx.compose.runtime.setValue
24+
import androidx.compose.runtime.mutableIntStateOf
25+
import androidx.compose.runtime.mutableStateOf
26+
import to.bitkit.ext.removeSpaces
27+
import to.bitkit.models.BitcoinDisplayUnit
1928
import to.bitkit.ui.shared.util.clickableAlpha
2029
import to.bitkit.ui.theme.AppThemeSurface
2130
import to.bitkit.ui.theme.Colors
@@ -62,6 +71,53 @@ fun BalanceHeaderView(
6271
}
6372
}
6473

74+
@Composable
75+
fun BalanceHeaderEditable(
76+
input: String,
77+
showBitcoinSymbol: Boolean = true,
78+
onSatsChanged: (String) -> Unit,
79+
modifier: Modifier = Modifier,
80+
) {
81+
val (rates, _, _, _, displayUnit, primaryDisplay) = LocalCurrencies.current
82+
val currency = currencyViewModel ?: return
83+
84+
var placeholder: String by remember { mutableStateOf("0") }
85+
var placeholderFractional: String by remember { mutableStateOf("") }
86+
87+
if (displayUnit == BitcoinDisplayUnit.CLASSIC) {
88+
placeholderFractional = "00000000"
89+
}
90+
91+
if (primaryDisplay == PrimaryDisplay.FIAT) {
92+
placeholderFractional = "00"
93+
}
94+
95+
if (placeholderFractional.isNotEmpty()) {
96+
placeholder = "0.$placeholderFractional"
97+
}
98+
99+
var smallRowPrefix: String by remember { mutableStateOf("") }
100+
var smallRowText: String by remember { mutableStateOf("") }
101+
var smallRowSymbol: String by remember { mutableStateOf("") }
102+
103+
var largeRowPrefix: String by remember { mutableStateOf("") }
104+
var largeRowText: String by remember { mutableStateOf("") }
105+
var largeRowSymbol: String by remember { mutableStateOf("") }
106+
107+
108+
BalanceHeader(
109+
modifier = modifier,
110+
smallRowPrefix = smallRowPrefix,
111+
smallRowSymbol = smallRowSymbol,
112+
smallRowText = smallRowText,
113+
largeRowPrefix = largeRowPrefix,
114+
largeRowText = largeRowText,
115+
largeRowSymbol = largeRowSymbol,
116+
showSymbol = showBitcoinSymbol,
117+
onClick = { }
118+
)
119+
}
120+
65121
@Composable
66122
fun BalanceHeader(
67123
modifier: Modifier = Modifier,

0 commit comments

Comments
 (0)