Updated on 2026-08-14

This commit is contained in:
Tangem 2025-05-14 15:43:37 +05:00
parent 8439b9e20f
commit 5f91d6077e
3 changed files with 22 additions and 55 deletions

View file

@ -79,10 +79,7 @@ fun ExpressStatusBlock(state: ExpressStatusUM, modifier: Modifier = Modifier) {
)
Text(
modifier = Modifier.align(Alignment.CenterVertically),
text = resourceReference(
id = R.string.express_transaction_id,
formatArgs = wrappedList(link.text),
).resolveReference(),
text = link.text.resolveReference(),
maxLines = 1,
overflow = TextOverflow.Ellipsis,
style = TangemTheme.typography.subtitle2,

View file

@ -50,7 +50,6 @@ internal class SetOnrampSuccessContentConverter(
statusBlock = convertStatuses(
status = value.status,
externalTxId = value.externalTxId,
externalTxUrl = value.externalTxUrl,
),
notification = getNotification(status = value.status, externalTxUrl = value.externalTxUrl),
)
@ -78,11 +77,7 @@ internal class SetOnrampSuccessContentConverter(
null
}
private fun convertStatuses(
status: OnrampStatus.Status,
externalTxId: String?,
externalTxUrl: String?,
): ExpressStatusUM {
private fun convertStatuses(status: OnrampStatus.Status, externalTxId: String?): ExpressStatusUM {
val statuses = with(status) {
persistentListOf(
getAwaitingDepositItem(),
@ -94,7 +89,7 @@ internal class SetOnrampSuccessContentConverter(
return ExpressStatusUM(
title = resourceReference(R.string.common_transaction_status),
link = getStatusLink(status = status, externalTxId = externalTxId, externalTxUrl = externalTxUrl),
link = getStatusLink(externalTxId = externalTxId),
statuses = statuses,
)
}
@ -192,33 +187,15 @@ internal class SetOnrampSuccessContentConverter(
state = getStatusState(OnrampStatus.Status.Sending),
)
private fun getStatusLink(
status: OnrampStatus.Status,
externalTxId: String?,
externalTxUrl: String?,
): ExpressLinkUM {
if (externalTxUrl == null) return ExpressLinkUM.Empty
return when (status) {
OnrampStatus.Status.Verifying,
OnrampStatus.Status.Failed,
-> {
ExpressLinkUM.Content(
icon = R.drawable.ic_arrow_top_right_24,
text = resourceReference(R.string.common_go_to_provider),
onClick = {
goToProviderClick(externalTxUrl)
},
)
}
else -> if (externalTxId != null) {
ExpressLinkUM.Content(
icon = R.drawable.ic_copy_24,
text = stringReference(externalTxId),
onClick = { onCopyClick(externalTxId) },
)
} else {
ExpressLinkUM.Empty
}
private fun getStatusLink(externalTxId: String?): ExpressLinkUM {
return if (externalTxId != null) {
ExpressLinkUM.Content(
icon = R.drawable.ic_copy_24,
text = resourceReference(R.string.express_transaction_id, wrappedList(externalTxId)),
onClick = { onCopyClick(externalTxId) },
)
} else {
ExpressLinkUM.Empty
}
}

View file

@ -148,7 +148,7 @@ internal class TokenDetailsOnrampTransactionStateConverter(
return ExpressStatusUM(
title = resourceReference(R.string.common_transaction_status),
link = getStatusLink(status, externalTxUrl),
link = getStatusLink(externalTxUrl),
statuses = statuses,
)
}
@ -263,23 +263,16 @@ internal class TokenDetailsOnrampTransactionStateConverter(
},
)
private fun getStatusLink(status: OnrampStatus.Status, externalTxUrl: String?): ExpressLinkUM {
private fun getStatusLink(externalTxUrl: String?): ExpressLinkUM {
if (externalTxUrl == null) return ExpressLinkUM.Empty
return when (status) {
OnrampStatus.Status.Verifying,
OnrampStatus.Status.Failed,
-> {
ExpressLinkUM.Content(
icon = R.drawable.ic_arrow_top_right_24,
text = resourceReference(R.string.common_go_to_provider),
onClick = {
analyticsEventHandler.send(TokenOnrampAnalyticsEvent.GoToProvider)
clickIntents.onGoToProviderClick(externalTxUrl)
},
)
}
else -> ExpressLinkUM.Empty
}
return ExpressLinkUM.Content(
icon = R.drawable.ic_arrow_top_right_24,
text = resourceReference(R.string.common_go_to_provider),
onClick = {
analyticsEventHandler.send(TokenOnrampAnalyticsEvent.GoToProvider)
clickIntents.onGoToProviderClick(externalTxUrl)
},
)
}
private fun OnrampStatus.Status.getStatusState(targetState: OnrampStatus.Status) = when {