Skip to content

Commit 35f8504

Browse files
committed
refactor: unit button
1 parent 3df3b45 commit 35f8504

File tree

1 file changed

+9
-13
lines changed

1 file changed

+9
-13
lines changed

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

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,25 +14,21 @@ import to.bitkit.ui.LocalCurrencies
1414
import to.bitkit.ui.currencyViewModel
1515
import to.bitkit.ui.theme.AppThemeSurface
1616
import to.bitkit.ui.theme.Colors
17+
import to.bitkit.viewmodels.CurrencyUiState
18+
import to.bitkit.viewmodels.CurrencyViewModel
1719

1820
@Composable
1921
fun UnitButton(
2022
modifier: Modifier = Modifier,
21-
onClick: () -> Unit = {},
2223
color: Color = Colors.Brand,
23-
primaryDisplay: PrimaryDisplay = LocalCurrencies.current.primaryDisplay,
24+
currencies: CurrencyUiState = LocalCurrencies.current,
25+
currency: CurrencyViewModel? = currencyViewModel,
26+
onClick: () -> Unit = { currency?.togglePrimaryDisplay() },
2427
) {
25-
val currency = currencyViewModel
26-
val currencies = LocalCurrencies.current
27-
val text = if (primaryDisplay == PrimaryDisplay.BITCOIN) "Bitcoin" else currencies.selectedCurrency
28-
2928
NumberPadActionButton(
30-
text = text,
29+
text = if (currencies.primaryDisplay == PrimaryDisplay.BITCOIN) "Bitcoin" else currencies.selectedCurrency,
3130
color = color,
32-
onClick = {
33-
currency?.togglePrimaryDisplay()
34-
onClick()
35-
},
31+
onClick = onClick,
3632
icon = R.drawable.ic_transfer,
3733
modifier = modifier,
3834
)
@@ -46,8 +42,8 @@ private fun Preview() {
4642
verticalArrangement = Arrangement.spacedBy(16.dp),
4743
modifier = Modifier.padding(16.dp)
4844
) {
49-
UnitButton(primaryDisplay = PrimaryDisplay.BITCOIN)
50-
UnitButton(primaryDisplay = PrimaryDisplay.FIAT)
45+
UnitButton(currencies = CurrencyUiState(primaryDisplay = PrimaryDisplay.BITCOIN))
46+
UnitButton(currencies = CurrencyUiState(primaryDisplay = PrimaryDisplay.FIAT))
5147
}
5248
}
5349
}

0 commit comments

Comments
 (0)