From 645ec0a474a9b8682a8b1a9a43e901bd23fea888 Mon Sep 17 00:00:00 2001 From: Brandon McAnsh Date: Mon, 4 May 2026 13:58:30 -0400 Subject: [PATCH] chore(withdrawal): always show token "amount in" on receipt regardless of token type Signed-off-by: Brandon McAnsh --- .../core/src/main/res/values/strings.xml | 4 +++ .../internal/components/TransactionReceipt.kt | 26 +++++++++---------- .../WithdrawalConfirmationScreen.kt | 1 + 3 files changed, 18 insertions(+), 13 deletions(-) diff --git a/apps/flipcash/core/src/main/res/values/strings.xml b/apps/flipcash/core/src/main/res/values/strings.xml index 69ca589ad..4c1be43c1 100644 --- a/apps/flipcash/core/src/main/res/values/strings.xml +++ b/apps/flipcash/core/src/main/res/values/strings.xml @@ -628,4 +628,8 @@ Your USDF will be converted 1:1 to Solana USDC on withdrawal Solana USDC USDC + Withdrawal amount + Less fee + Net amount + Amount in %1$s \ No newline at end of file diff --git a/apps/flipcash/features/withdrawal/src/main/kotlin/com/flipcash/app/withdrawal/internal/components/TransactionReceipt.kt b/apps/flipcash/features/withdrawal/src/main/kotlin/com/flipcash/app/withdrawal/internal/components/TransactionReceipt.kt index c7985c3be..c52e9e099 100644 --- a/apps/flipcash/features/withdrawal/src/main/kotlin/com/flipcash/app/withdrawal/internal/components/TransactionReceipt.kt +++ b/apps/flipcash/features/withdrawal/src/main/kotlin/com/flipcash/app/withdrawal/internal/components/TransactionReceipt.kt @@ -7,7 +7,7 @@ import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding -import androidx.compose.material.Text +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.derivedStateOf @@ -126,14 +126,14 @@ private fun LineItems( ) { ReceiptLineItem( modifier = Modifier.fillMaxWidth(), - label = AnnotatedString("Withdrawal amount"), + label = AnnotatedString(stringResource(R.string.label_withdrawalAmount)), amount = tokenWithBalance.balance.formatted() ) if (fee != null) { ReceiptLineItem( modifier = Modifier.fillMaxWidth(), - label = AnnotatedString("Less fee"), + label = AnnotatedString(stringResource(R.string.label_lessFee)), amount = fee.formatted(extraPrefix = "-"), ) @@ -143,20 +143,20 @@ private fun LineItems( ReceiptLineItem( modifier = Modifier.fillMaxWidth(), - label = AnnotatedString("Net amount"), + label = AnnotatedString(stringResource(R.string.label_netAmount)), amount = netAmount ) } - if (tokenWithBalance.token.address != Mint.usdf) { - val exchange = LocalExchange.current - ReceiptLineItem( - modifier = Modifier.fillMaxWidth(), - label = AnnotatedString("Amount in ${tokenWithBalance.displayName}"), - amount = transferAmount.convertingToUsdIfNeeded(exchange.entryRate) - .estimatedTokenAmountIn(tokenWithBalance.token, fractionDigits = 2), - ) - } + val exchange = LocalExchange.current + ReceiptLineItem( + modifier = Modifier.fillMaxWidth(), + label = AnnotatedString( + stringResource(R.string.label_amountInToken, tokenWithBalance.displayName) + ), + amount = transferAmount.convertingToUsdIfNeeded(exchange.entryRate) + .estimatedTokenAmountIn(tokenWithBalance.token, fractionDigits = 2), + ) } } diff --git a/apps/flipcash/features/withdrawal/src/main/kotlin/com/flipcash/app/withdrawal/internal/confirmation/WithdrawalConfirmationScreen.kt b/apps/flipcash/features/withdrawal/src/main/kotlin/com/flipcash/app/withdrawal/internal/confirmation/WithdrawalConfirmationScreen.kt index f43d33f39..6ccc5a106 100644 --- a/apps/flipcash/features/withdrawal/src/main/kotlin/com/flipcash/app/withdrawal/internal/confirmation/WithdrawalConfirmationScreen.kt +++ b/apps/flipcash/features/withdrawal/src/main/kotlin/com/flipcash/app/withdrawal/internal/confirmation/WithdrawalConfirmationScreen.kt @@ -74,6 +74,7 @@ private fun WithdrawalConfirmationScreenContent( tokenWithBalance = TokenWithBalance( state.token!!.token, balance = state.amountEntryState.selectedAmount.localFiat.nativeAmount, + displayName = state.token.displayName ), destination = state.destinationState.textFieldState.text.toString(), fee = state.feeInEntryCurrency,