@@ -12,13 +12,9 @@ import androidx.compose.foundation.layout.navigationBarsPadding
1212import androidx.compose.foundation.layout.padding
1313import androidx.compose.material.Text
1414import androidx.compose.runtime.Composable
15- import androidx.compose.runtime.derivedStateOf
1615import androidx.compose.runtime.getValue
17- import androidx.compose.runtime.remember
1816import androidx.compose.ui.Alignment
1917import androidx.compose.ui.Modifier
20- import androidx.compose.ui.graphics.Color
21- import androidx.compose.ui.graphics.compositeOver
2218import androidx.compose.ui.res.stringResource
2319import androidx.compose.ui.text.style.TextAlign
2420import androidx.compose.ui.unit.dp
@@ -30,13 +26,9 @@ import com.flipcash.app.tokens.BuySellSwapTokenViewModel
3026import com.flipcash.features.tokens.R
3127import com.getcode.opencode.model.financial.Fiat
3228import com.getcode.opencode.model.financial.TokenWithBalance
33- import com.getcode.opencode.model.financial.minus
34- import com.getcode.opencode.model.financial.times
3529import com.getcode.theme.CodeTheme
3630import com.getcode.theme.White05
37- import com.getcode.theme.White08
3831import com.getcode.theme.bolded
39- import com.getcode.theme.inputColors
4032import com.getcode.ui.theme.ButtonState
4133import com.getcode.ui.theme.CodeButton
4234import com.getcode.ui.theme.CodeScaffold
@@ -101,10 +93,11 @@ private fun TokenSellReceiptScreen(
10193 )
10294 ) {
10395 SellReceipt (
104- tokenWithBalance = state.tokenWithBalance!! .copy(
105- balance = state.amountEntryState.selectedAmount.nativeAmount
106- ),
107- fee = state.sellFee,
96+ grossTransferAmount = state.enteredAmount,
97+ netTransferAmount = state.netTransferAmount,
98+ feeAmount = state.feeAmount,
99+ feePercentage = state.sellFee,
100+ tokenWithBalance = state.tokenWithBalance!! ,
108101 )
109102 }
110103 }
@@ -113,7 +106,10 @@ private fun TokenSellReceiptScreen(
113106@Composable
114107private fun SellReceipt (
115108 tokenWithBalance : TokenWithBalance ,
116- fee : Double? ,
109+ grossTransferAmount : Fiat ,
110+ netTransferAmount : Fiat ,
111+ feePercentage : Double? ,
112+ feeAmount : Fiat ,
117113 modifier : Modifier = Modifier ,
118114) {
119115 Column (
@@ -133,33 +129,20 @@ private fun SellReceipt(
133129 verticalArrangement = Arrangement .spacedBy(CodeTheme .dimens.grid.x6),
134130 horizontalAlignment = Alignment .CenterHorizontally
135131 ) {
136- val feeAmount by remember(fee, tokenWithBalance.balance) {
137- derivedStateOf {
138- if (fee == null ) return @derivedStateOf Fiat .Zero
139- tokenWithBalance.balance * (fee / 100.0 )
140- }
141- }
142-
143- val netTransferAmount by remember(tokenWithBalance.balance, feeAmount) {
144- derivedStateOf {
145- tokenWithBalance.balance - feeAmount
146- }
147- }
148-
149132 Column (
150133 modifier = modifier,
151134 verticalArrangement = Arrangement .spacedBy(CodeTheme .dimens.grid.x3),
152135 ) {
153136 ReceiptLineItem (
154137 modifier = Modifier .fillMaxWidth(),
155- label = " Sell amount " ,
156- amount = tokenWithBalance.balance .formatted(),
138+ label = stringResource( R .string.label_sellAmount) ,
139+ amount = grossTransferAmount .formatted(),
157140 )
158141
159- if (fee != null ) {
142+ if (feePercentage != null ) {
160143 ReceiptLineItem (
161144 modifier = Modifier .fillMaxWidth(),
162- label = " ${fee. roundToInt()} % Fee " ,
145+ label = stringResource( R .string.label_percentFee, feePercentage. roundToInt()) ,
163146 amount = feeAmount.formatted(
164147 extraPrefix = if (feeAmount.decimalValue != 1.0 ) " ~" else null ,
165148 ),
0 commit comments