Updated on 2026-08-14
This commit is contained in:
parent
79341b957a
commit
951b845972
2 changed files with 65 additions and 42 deletions
|
|
@ -116,6 +116,7 @@
|
|||
<string name="common_success">Успешно</string>
|
||||
<string name="common_swap">Обмен</string>
|
||||
<string name="common_terms_and_conditions">условия участия</string>
|
||||
<string name="common_transaction_failed">Ошибка транзакции</string>
|
||||
<string name="common_transactions">Транзакции</string>
|
||||
<string name="common_transfer">Перевод</string>
|
||||
<string name="common_understand">Я понял</string>
|
||||
|
|
|
|||
|
|
@ -119,6 +119,7 @@ fun Transaction(state: TransactionState, isBalanceHidden: Boolean, modifier: Mod
|
|||
}
|
||||
}
|
||||
|
||||
@Suppress("CyclomaticComplexMethod")
|
||||
@Composable
|
||||
private fun Icon(state: TransactionState, modifier: Modifier = Modifier) {
|
||||
when (state) {
|
||||
|
|
@ -128,28 +129,28 @@ private fun Icon(state: TransactionState, modifier: Modifier = Modifier) {
|
|||
.size(TangemTheme.dimens.size40)
|
||||
.background(
|
||||
color = when (state.status) {
|
||||
is Status.Unconfirmed -> {
|
||||
TangemTheme.colors.icon.attention.copy(alpha = 0.1f)
|
||||
}
|
||||
is Status.Confirmed, Status.Failed -> {
|
||||
TangemTheme.colors.background.secondary
|
||||
}
|
||||
is Status.Unconfirmed -> TangemTheme.colors.icon.attention.copy(alpha = 0.1f)
|
||||
is Status.Confirmed -> TangemTheme.colors.background.secondary
|
||||
is Status.Failed -> TangemTheme.colors.icon.warning.copy(alpha = 0.1f)
|
||||
},
|
||||
shape = CircleShape,
|
||||
),
|
||||
) {
|
||||
Icon(
|
||||
painter = painterResource(
|
||||
id = when (state) {
|
||||
is TransactionState.Transfer -> {
|
||||
when (state.direction) {
|
||||
Direction.OUTGOING -> R.drawable.ic_arrow_up_24
|
||||
Direction.INCOMING -> R.drawable.ic_arrow_down_24
|
||||
id = when (state.status) {
|
||||
is Status.Failed -> R.drawable.ic_close_24
|
||||
else -> when (state) {
|
||||
is TransactionState.Transfer -> {
|
||||
when (state.direction) {
|
||||
Direction.OUTGOING -> R.drawable.ic_arrow_up_24
|
||||
Direction.INCOMING -> R.drawable.ic_arrow_down_24
|
||||
}
|
||||
}
|
||||
is TransactionState.Approve -> R.drawable.ic_doc_24
|
||||
is TransactionState.Swap -> R.drawable.ic_exchange_vertical_24
|
||||
is TransactionState.Custom -> R.drawable.ic_exchange_vertical_24
|
||||
}
|
||||
is TransactionState.Approve -> R.drawable.ic_doc_24
|
||||
is TransactionState.Swap -> R.drawable.ic_exchange_vertical_24
|
||||
is TransactionState.Custom -> R.drawable.ic_exchange_vertical_24
|
||||
},
|
||||
),
|
||||
contentDescription = null,
|
||||
|
|
@ -157,8 +158,9 @@ private fun Icon(state: TransactionState, modifier: Modifier = Modifier) {
|
|||
.size(TangemTheme.dimens.size20)
|
||||
.align(Alignment.Center),
|
||||
tint = when (state.status) {
|
||||
Status.Confirmed, Status.Failed -> TangemTheme.colors.icon.informative
|
||||
Status.Confirmed -> TangemTheme.colors.icon.informative
|
||||
Status.Unconfirmed -> TangemTheme.colors.icon.attention
|
||||
Status.Failed -> TangemTheme.colors.icon.warning
|
||||
},
|
||||
)
|
||||
}
|
||||
|
|
@ -224,35 +226,37 @@ private fun Subtitle(state: TransactionState, modifier: Modifier = Modifier) {
|
|||
when (state) {
|
||||
is TransactionState.Content -> {
|
||||
Text(
|
||||
text = when (state) {
|
||||
is TransactionState.Transfer -> {
|
||||
when (state.direction) {
|
||||
Direction.OUTGOING -> stringResource(
|
||||
id = R.string.transaction_history_transaction_to_address,
|
||||
state.address.resolveReference(),
|
||||
)
|
||||
Direction.INCOMING -> stringResource(
|
||||
id = R.string.transaction_history_transaction_from_address,
|
||||
state.address.resolveReference(),
|
||||
)
|
||||
text = when (state.status) {
|
||||
is Status.Failed -> stringResource(id = R.string.common_transaction_failed)
|
||||
else -> when (state) {
|
||||
is TransactionState.Transfer -> {
|
||||
when (state.direction) {
|
||||
Direction.OUTGOING -> stringResource(
|
||||
id = R.string.transaction_history_transaction_to_address,
|
||||
state.address.resolveReference(),
|
||||
)
|
||||
Direction.INCOMING -> stringResource(
|
||||
id = R.string.transaction_history_transaction_from_address,
|
||||
state.address.resolveReference(),
|
||||
)
|
||||
}
|
||||
}
|
||||
is TransactionState.Approve -> stringResource(
|
||||
id = R.string.transaction_history_transaction_from_address,
|
||||
state.address.resolveReference(),
|
||||
)
|
||||
is TransactionState.Swap -> stringResource(
|
||||
id = R.string.transaction_history_contract_address,
|
||||
state.address.resolveReference(),
|
||||
)
|
||||
is TransactionState.Custom -> stringResource(
|
||||
id = when (state.direction) {
|
||||
Direction.OUTGOING -> R.string.transaction_history_transaction_to_address
|
||||
Direction.INCOMING -> R.string.transaction_history_transaction_from_address
|
||||
},
|
||||
state.subtitle.resolveReference(),
|
||||
)
|
||||
}
|
||||
is TransactionState.Approve,
|
||||
-> stringResource(
|
||||
id = R.string.transaction_history_transaction_from_address,
|
||||
state.address.resolveReference(),
|
||||
)
|
||||
is TransactionState.Swap -> stringResource(
|
||||
id = R.string.transaction_history_contract_address,
|
||||
state.address.resolveReference(),
|
||||
)
|
||||
is TransactionState.Custom -> stringResource(
|
||||
id = when (state.direction) {
|
||||
Direction.OUTGOING -> R.string.transaction_history_transaction_to_address
|
||||
Direction.INCOMING -> R.string.transaction_history_transaction_from_address
|
||||
},
|
||||
state.subtitle.resolveReference(),
|
||||
)
|
||||
},
|
||||
modifier = modifier,
|
||||
textAlign = TextAlign.Start,
|
||||
|
|
@ -376,6 +380,15 @@ private class TransactionItemStateProvider : CollectionPreviewParameterProvider<
|
|||
direction = Direction.INCOMING,
|
||||
onClick = {},
|
||||
),
|
||||
TransactionState.Approve(
|
||||
txHash = UUID.randomUUID().toString(),
|
||||
address = TextReference.Str("33BddS...ga2B"),
|
||||
amount = "+0.500913 BTC",
|
||||
timestamp = "8:41",
|
||||
status = Status.Unconfirmed,
|
||||
direction = Direction.OUTGOING,
|
||||
onClick = {},
|
||||
),
|
||||
TransactionState.Approve(
|
||||
txHash = UUID.randomUUID().toString(),
|
||||
address = TextReference.Str("33BddS...ga2B"),
|
||||
|
|
@ -385,6 +398,15 @@ private class TransactionItemStateProvider : CollectionPreviewParameterProvider<
|
|||
direction = Direction.OUTGOING,
|
||||
onClick = {},
|
||||
),
|
||||
TransactionState.Approve(
|
||||
txHash = UUID.randomUUID().toString(),
|
||||
address = TextReference.Str("33BddS...ga2B"),
|
||||
amount = "+0.500913 BTC",
|
||||
timestamp = "8:41",
|
||||
status = Status.Confirmed,
|
||||
direction = Direction.OUTGOING,
|
||||
onClick = {},
|
||||
),
|
||||
TransactionState.Swap(
|
||||
txHash = UUID.randomUUID().toString(),
|
||||
address = TextReference.Str("33BddS...ga2B"),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue