From 1abd712dbc070faa2c3f89ce28c38093445023ca Mon Sep 17 00:00:00 2001 From: Brandon McAnsh Date: Tue, 16 Jun 2026 11:31:23 -0400 Subject: [PATCH] chore(bills): allow rendering USDF conditionally as a bill for Bill Designer Signed-off-by: Brandon McAnsh --- .../com/flipcash/app/core/bill/BillState.kt | 2 ++ .../InternalBillPlaygroundController.kt | 3 +- .../com/flipcash/app/bills/RenderedBill.kt | 32 +++++++++++-------- 3 files changed, 22 insertions(+), 15 deletions(-) diff --git a/apps/flipcash/core/src/main/kotlin/com/flipcash/app/core/bill/BillState.kt b/apps/flipcash/core/src/main/kotlin/com/flipcash/app/core/bill/BillState.kt index 851d19d2a..0d4bf9aae 100644 --- a/apps/flipcash/core/src/main/kotlin/com/flipcash/app/core/bill/BillState.kt +++ b/apps/flipcash/core/src/main/kotlin/com/flipcash/app/core/bill/BillState.kt @@ -9,6 +9,7 @@ import com.getcode.opencode.internal.manager.VerifiedState import com.getcode.opencode.model.financial.Fiat import com.getcode.opencode.model.financial.LocalFiat import com.getcode.opencode.model.financial.Token +import com.getcode.opencode.model.financial.usdf import com.getcode.solana.keys.Mint import kotlin.time.Duration @@ -125,6 +126,7 @@ sealed interface Bill { val kind: Kind = Kind.cash, val verifiedState: VerifiedState? = null, val nonce: List = emptyList(), + val renderAsBill: Boolean = token.address != Mint.usdf, ) : Bill { override val canFlip: Boolean = false } diff --git a/apps/flipcash/shared/bill-customization/src/main/kotlin/com/flipcash/app/bill/customization/internal/InternalBillPlaygroundController.kt b/apps/flipcash/shared/bill-customization/src/main/kotlin/com/flipcash/app/bill/customization/internal/InternalBillPlaygroundController.kt index 642808ac0..23abccdfc 100644 --- a/apps/flipcash/shared/bill-customization/src/main/kotlin/com/flipcash/app/bill/customization/internal/InternalBillPlaygroundController.kt +++ b/apps/flipcash/shared/bill-customization/src/main/kotlin/com/flipcash/app/bill/customization/internal/InternalBillPlaygroundController.kt @@ -138,7 +138,8 @@ class InternalBillPlaygroundController( token = token.copy(billCustomizations = customizations), amount = demoAmount, disableGestures = true, - data = payloadInfo.codeData.toList() + data = payloadInfo.codeData.toList(), + renderAsBill = true, ) _state.update { current -> diff --git a/apps/flipcash/shared/bills/src/main/kotlin/com/flipcash/app/bills/RenderedBill.kt b/apps/flipcash/shared/bills/src/main/kotlin/com/flipcash/app/bills/RenderedBill.kt index 988794585..ab26b951c 100644 --- a/apps/flipcash/shared/bills/src/main/kotlin/com/flipcash/app/bills/RenderedBill.kt +++ b/apps/flipcash/shared/bills/src/main/kotlin/com/flipcash/app/bills/RenderedBill.kt @@ -22,20 +22,24 @@ fun RenderedBill( modifier: Modifier = Modifier, bill: Bill, ) { - if (bill.token.address == Mint.usdf) { - GoldBar( - modifier = modifier - .padding(horizontal = CodeTheme.dimens.inset), - payloadData = bill.data, - amount = bill.amount.underlyingTokenAmount, - ) - } else { - CashBill( - modifier = modifier, - payloadData = bill.data, - amount = bill.amount, - token = bill.token - ) + when (bill) { + is Bill.Cash -> { + if (bill.renderAsBill) { + CashBill( + modifier = modifier, + payloadData = bill.data, + amount = bill.amount, + token = bill.token + ) + } else { + GoldBar( + modifier = modifier + .padding(horizontal = CodeTheme.dimens.inset), + payloadData = bill.data, + amount = bill.amount.underlyingTokenAmount, + ) + } + } } }