Updated on 2026-08-14
This commit is contained in:
parent
4f1710d77c
commit
5440a3067d
16 changed files with 80 additions and 0 deletions
|
|
@ -182,6 +182,7 @@ internal class ChooseTokenListItemConverter(
|
|||
val paymentCurrency: CryptoCurrencyStatus = when (val status = this.value) {
|
||||
is PaymentAccountStatusValue.Error,
|
||||
is PaymentAccountStatusValue.IssuingCard,
|
||||
is PaymentAccountStatusValue.AwaitingPlanSelection,
|
||||
PaymentAccountStatusValue.NotCreated,
|
||||
is PaymentAccountStatusValue.UnderReview,
|
||||
PaymentAccountStatusValue.Loading,
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ sealed class TangemPayMainUM {
|
|||
|
||||
data object Empty : TangemPayMainUM()
|
||||
data object Loading : TangemPayMainUM()
|
||||
data class SelectPlan(val onClick: () -> Unit) : TangemPayMainUM()
|
||||
data class UnderReview(val subtitle: TextReference, val onClick: () -> Unit) : TangemPayMainUM()
|
||||
data class IssuingCard(val onClick: () -> Unit) : TangemPayMainUM()
|
||||
data class FailedToIssue(val onClick: () -> Unit) : TangemPayMainUM()
|
||||
|
|
|
|||
|
|
@ -50,6 +50,11 @@ internal fun TangemPayMainBlockContent(
|
|||
when (state) {
|
||||
is TangemPayMainUM.Empty -> Unit
|
||||
is TangemPayMainUM.Loading -> TangemPayMainLoading(modifier)
|
||||
is TangemPayMainUM.SelectPlan -> TangemPayStateRow(
|
||||
subtitle = resourceReference(R.string.tangempay_main_select_plan),
|
||||
modifier = modifier,
|
||||
onClick = state.onClick,
|
||||
)
|
||||
is TangemPayMainUM.UnderReview -> TangemPayStateRow(
|
||||
subtitle = state.subtitle,
|
||||
modifier = modifier,
|
||||
|
|
@ -303,6 +308,7 @@ private class TangemPayMainBlockContentPreviewParameterProvider : CollectionPrev
|
|||
TangemPayMainUM.ExposedDevice,
|
||||
TangemPayMainUM.FailedToIssue(onClick = {}),
|
||||
TangemPayMainUM.UnderReview(subtitle = resourceReference(R.string.tangempay_kyc_in_progress), onClick = {}),
|
||||
TangemPayMainUM.SelectPlan(onClick = {}),
|
||||
TangemPayMainUM.IssuingCard(onClick = {}),
|
||||
TangemPayMainUM.Content(
|
||||
subtitle = TextReference.Str("*1234"),
|
||||
|
|
|
|||
|
|
@ -42,6 +42,7 @@ internal fun TangemPayMainBlockItem(state: TangemPayMainUM, isBalanceHidden: Boo
|
|||
when (state) {
|
||||
is TangemPayMainUM.Empty -> Unit
|
||||
is TangemPayMainUM.Loading -> TangemPayMainLoadingItem(modifier)
|
||||
is TangemPayMainUM.SelectPlan -> TangemPayMainSelectPlanItem(state, modifier)
|
||||
is TangemPayMainUM.UnderReview -> TangemPayMainUnderReviewItem(state, modifier)
|
||||
is TangemPayMainUM.IssuingCard -> TangemPayMainIssuingCardItem(state, modifier)
|
||||
is TangemPayMainUM.FailedToIssue -> TangemPayMainFailedIssueItem(state, modifier)
|
||||
|
|
@ -194,6 +195,25 @@ private fun TangemPayMainTempUnavailableItem(modifier: Modifier = Modifier) {
|
|||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun TangemPayMainSelectPlanItem(state: TangemPayMainUM.SelectPlan, modifier: Modifier = Modifier) {
|
||||
BlockCard(
|
||||
modifier = modifier
|
||||
.clip(RoundedCornerShape(size = TangemTheme.dimens.radius14))
|
||||
.background(TangemTheme.colors.background.primary),
|
||||
onClick = state.onClick,
|
||||
) {
|
||||
InputRowImageBase(
|
||||
modifier = Modifier.padding(all = TangemTheme.dimens.spacing12),
|
||||
subtitle = resourceReference(R.string.tangempay_payment_account),
|
||||
caption = resourceReference(R.string.tangempay_main_select_plan),
|
||||
subtitleColor = TangemTheme.colors.text.primary1,
|
||||
captionColor = TangemTheme.colors.text.tertiary,
|
||||
iconResWebp = R.drawable.img_visa_36,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun TangemPayMainIssuingCardItem(state: TangemPayMainUM.IssuingCard, modifier: Modifier = Modifier) {
|
||||
BlockCard(
|
||||
|
|
@ -344,6 +364,7 @@ private class TangemPayMainUMPreviewParameterProvider : CollectionPreviewParamet
|
|||
TangemPayMainUM.ExposedDevice,
|
||||
TangemPayMainUM.FailedToIssue(onClick = {}),
|
||||
TangemPayMainUM.UnderReview(subtitle = resourceReference(R.string.tangempay_kyc_in_progress), onClick = {}),
|
||||
TangemPayMainUM.SelectPlan(onClick = {}),
|
||||
TangemPayMainUM.IssuingCard(onClick = {}),
|
||||
TangemPayMainUM.Content(
|
||||
subtitle = TextReference.Str("*1234"),
|
||||
|
|
|
|||
|
|
@ -42,6 +42,8 @@ internal interface TangemPayIntents {
|
|||
|
||||
fun openDetails(status: AccountStatus.Payment)
|
||||
|
||||
fun onSelectPlanClicked(status: AccountStatus.Payment)
|
||||
|
||||
fun onKycProgressClicked(userWalletId: UserWalletId)
|
||||
|
||||
fun onKycRejectedClicked(userWalletId: UserWalletId, customerId: String)
|
||||
|
|
@ -114,6 +116,10 @@ internal class TangemPayClickIntentsImplementor @Inject constructor(
|
|||
router.openTangemPayDetails(status = status)
|
||||
}
|
||||
|
||||
override fun onSelectPlanClicked(status: AccountStatus.Payment) {
|
||||
router.openTangemPaySelectPlan(status = status)
|
||||
}
|
||||
|
||||
override fun onKycProgressClicked(userWalletId: UserWalletId) {
|
||||
val cancelKycConfirmDialogMessage = DialogMessage(
|
||||
title = resourceReference(R.string.tangempay_kyc_confirm_cancellation_alert_title),
|
||||
|
|
|
|||
|
|
@ -158,6 +158,10 @@ internal class DefaultWalletRouter @Inject constructor(
|
|||
router.push(AppRoute.TangemPayDetails(status = status))
|
||||
}
|
||||
|
||||
override fun openTangemPaySelectPlan(status: AccountStatus.Payment) {
|
||||
// TODO v_rodionov: [REDACTED_TASK_KEY] Tiers Onboarding - part 2
|
||||
}
|
||||
|
||||
override fun openYieldSupplyBottomSheet(
|
||||
cryptoCurrency: CryptoCurrency,
|
||||
tokenAction: TokenAction,
|
||||
|
|
|
|||
|
|
@ -84,6 +84,8 @@ internal interface InnerWalletRouter {
|
|||
|
||||
fun openTangemPayDetails(status: AccountStatus.Payment)
|
||||
|
||||
fun openTangemPaySelectPlan(status: AccountStatus.Payment)
|
||||
|
||||
/** Open BS abput yield supply active and all money deposited in AAVE */
|
||||
fun openYieldSupplyBottomSheet(
|
||||
cryptoCurrency: CryptoCurrency,
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ internal class WalletTangemPayAnalyticsEventSender @Inject constructor(
|
|||
PaymentAccountStatusValue.Loading,
|
||||
PaymentAccountStatusValue.NotCreated,
|
||||
is PaymentAccountStatusValue.UnderReview,
|
||||
is PaymentAccountStatusValue.AwaitingPlanSelection,
|
||||
is PaymentAccountStatusValue.Deactivated,
|
||||
-> return
|
||||
}
|
||||
|
|
|
|||
|
|
@ -236,6 +236,7 @@ internal class GetMultiWalletWarningsFactory @Inject constructor(
|
|||
is PaymentAccountStatusValue.Error.CardIssueFailed,
|
||||
is PaymentAccountStatusValue.Error.ExposedDevice,
|
||||
is PaymentAccountStatusValue.IssuingCard,
|
||||
is PaymentAccountStatusValue.AwaitingPlanSelection,
|
||||
is PaymentAccountStatusValue.Loaded,
|
||||
is PaymentAccountStatusValue.Loading,
|
||||
is PaymentAccountStatusValue.UnderReview,
|
||||
|
|
|
|||
|
|
@ -284,6 +284,7 @@ internal class GetWalletNotificationsFactory @Inject constructor(
|
|||
is PaymentAccountStatusValue.Error.CardIssueFailed,
|
||||
is PaymentAccountStatusValue.Error.ExposedDevice,
|
||||
is PaymentAccountStatusValue.IssuingCard,
|
||||
is PaymentAccountStatusValue.AwaitingPlanSelection,
|
||||
is PaymentAccountStatusValue.Loaded,
|
||||
is PaymentAccountStatusValue.Loading,
|
||||
is PaymentAccountStatusValue.UnderReview,
|
||||
|
|
|
|||
|
|
@ -35,6 +35,9 @@ internal class TangemPayMainBlockConverter(
|
|||
is PaymentAccountStatusValue.IssuingCard -> TangemPayMainUM.IssuingCard(
|
||||
onClick = { tangemPayClickIntents.onIssuingCardClicked() },
|
||||
)
|
||||
is PaymentAccountStatusValue.AwaitingPlanSelection -> TangemPayMainUM.SelectPlan(
|
||||
onClick = { tangemPayClickIntents.onSelectPlanClicked(value) },
|
||||
)
|
||||
is PaymentAccountStatusValue.UnderReview -> TangemPayMainUM.UnderReview(
|
||||
subtitle = when (statusValue.kycStatus) {
|
||||
KycStatus.REJECTED -> TextReference.Res(R.string.tangempay_kyc_has_failed)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue