Updated on 2026-08-14
This commit is contained in:
parent
86b040e421
commit
690f6689dc
10 changed files with 28 additions and 26 deletions
|
|
@ -12,6 +12,7 @@ import androidx.compose.ui.tooling.preview.Preview
|
|||
import com.tangem.core.ui.R
|
||||
import com.tangem.core.ui.extensions.TextReference
|
||||
import com.tangem.core.ui.extensions.resolveReference
|
||||
import com.tangem.core.ui.extensions.themedColor
|
||||
import com.tangem.core.ui.res.TangemTheme
|
||||
import com.tangem.core.ui.res.TangemThemePreview
|
||||
import com.tangem.core.ui.test.PopUpMenuTestTags
|
||||
|
|
@ -28,7 +29,7 @@ fun TangemDropdownItem(item: TangemDropdownMenuItem, dismissParent: () -> Unit,
|
|||
.padding(vertical = TangemTheme.dimens.spacing8, horizontal = TangemTheme.dimens.spacing16)
|
||||
.testTag(PopUpMenuTestTags.BUTTON),
|
||||
text = item.title.resolveReference(),
|
||||
style = TangemTheme.typography.button.copy(color = item.textColorProvider()),
|
||||
style = TangemTheme.typography.button.copy(color = item.textColor.resolveReference()),
|
||||
)
|
||||
}
|
||||
|
||||
|
|
@ -42,7 +43,7 @@ private fun Preview_TokenDetailsAppBarDropdownItem() {
|
|||
dismissParent = {},
|
||||
item = TangemDropdownMenuItem(
|
||||
title = TextReference.Res(id = R.string.token_details_hide_token),
|
||||
textColorProvider = { TangemTheme.colors.text.warning },
|
||||
textColor = themedColor { TangemTheme.colors.text.warning },
|
||||
onClick = { },
|
||||
),
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1,11 +1,10 @@
|
|||
package com.tangem.core.ui.components.dropdownmenu
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import com.tangem.core.ui.extensions.ColorReference
|
||||
import com.tangem.core.ui.extensions.TextReference
|
||||
|
||||
data class TangemDropdownMenuItem(
|
||||
val title: TextReference,
|
||||
val textColorProvider: @Composable () -> Color,
|
||||
val textColor: ColorReference,
|
||||
val onClick: () -> Unit,
|
||||
)
|
||||
|
|
@ -28,8 +28,7 @@ internal class TangemPayTxHistoryItemConverter(moshi: Moshi) :
|
|||
return TangemPayTxHistoryItem.Spend(
|
||||
id = id,
|
||||
jsonRepresentation = spendAdapter.toJson(spend),
|
||||
// If postedAt is null, it means transaction wasn't posted and was likely declined. Use authorizedAt
|
||||
date = spend.postedAt ?: spend.authorizedAt,
|
||||
date = spend.authorizedAt,
|
||||
amount = spend.amount,
|
||||
currency = Currency.getInstance(spend.currency),
|
||||
enrichedMerchantName = spend.enrichedMerchantName,
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import com.tangem.core.ui.components.containers.pullToRefresh.PullToRefreshConfi
|
|||
import com.tangem.core.ui.components.dropdownmenu.TangemDropdownMenuItem
|
||||
import com.tangem.core.ui.extensions.TextReference
|
||||
import com.tangem.core.ui.extensions.resourceReference
|
||||
import com.tangem.core.ui.extensions.themedColor
|
||||
import com.tangem.core.ui.res.TangemTheme
|
||||
import com.tangem.features.tangempay.details.impl.R
|
||||
import kotlinx.collections.immutable.persistentListOf
|
||||
|
|
@ -24,12 +25,12 @@ internal class TangemPayDetailsStateFactory(
|
|||
items = persistentListOf(
|
||||
TangemDropdownMenuItem(
|
||||
title = TextReference.Res(R.string.tangempay_card_details_change_pin),
|
||||
textColorProvider = { TangemTheme.colors.text.primary1 },
|
||||
textColor = themedColor { TangemTheme.colors.text.primary1 },
|
||||
onClick = onClickChangePin,
|
||||
),
|
||||
TangemDropdownMenuItem(
|
||||
title = TextReference.Res(R.string.tangempay_card_details_freeze_card),
|
||||
textColorProvider = { TangemTheme.colors.text.primary1 },
|
||||
textColor = themedColor { TangemTheme.colors.text.primary1 },
|
||||
onClick = onClickFreezeCard,
|
||||
),
|
||||
),
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ import com.tangem.features.tangempay.utils.TangemPayTxHistoryUiActions
|
|||
import com.tangem.utils.StringsSigns
|
||||
import com.tangem.utils.converter.Converter
|
||||
import com.tangem.utils.extensions.isPositive
|
||||
import com.tangem.utils.extensions.isZero
|
||||
import org.joda.time.DateTimeZone
|
||||
|
||||
internal class TangemPayTxHistoryItemsConverter(
|
||||
|
|
@ -51,7 +52,11 @@ internal class TangemPayTxHistoryItemsConverter(
|
|||
}
|
||||
|
||||
private fun convertPayment(payment: TangemPayTxHistoryItem.Payment): TangemPayTransactionState.Content.Payment {
|
||||
val amountPrefix = if (payment.amount.isPositive()) StringsSigns.PLUS else StringsSigns.MINUS
|
||||
val amountPrefix = when {
|
||||
payment.amount.isZero() -> ""
|
||||
payment.amount.isPositive() -> StringsSigns.PLUS
|
||||
else -> StringsSigns.MINUS
|
||||
}
|
||||
val amount = amountPrefix + payment.amount.format {
|
||||
fiat(fiatCurrencyCode = payment.currency.currencyCode, fiatCurrencySymbol = payment.currency.symbol)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,10 +6,7 @@ import com.tangem.core.ui.components.dropdownmenu.TangemDropdownMenuItem
|
|||
import com.tangem.core.ui.components.marketprice.MarketPriceBlockState
|
||||
import com.tangem.core.ui.components.marketprice.PriceChangeState
|
||||
import com.tangem.core.ui.components.marketprice.PriceChangeType
|
||||
import com.tangem.core.ui.extensions.TextReference
|
||||
import com.tangem.core.ui.extensions.resourceReference
|
||||
import com.tangem.core.ui.extensions.stringReference
|
||||
import com.tangem.core.ui.extensions.wrappedList
|
||||
import com.tangem.core.ui.extensions.*
|
||||
import com.tangem.core.ui.res.TangemTheme
|
||||
import com.tangem.feature.tokendetails.presentation.tokendetails.state.*
|
||||
import com.tangem.feature.tokendetails.presentation.tokendetails.state.components.TokenDetailsActionButton
|
||||
|
|
@ -26,7 +23,7 @@ internal object TokenDetailsPreviewData {
|
|||
persistentListOf(
|
||||
TangemDropdownMenuItem(
|
||||
title = TextReference.Res(id = R.string.token_details_hide_token),
|
||||
textColorProvider = { TangemTheme.colors.text.warning },
|
||||
textColor = themedColor { TangemTheme.colors.text.warning },
|
||||
onClick = { },
|
||||
),
|
||||
),
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ import com.tangem.core.ui.components.marketprice.MarketPriceBlockState
|
|||
import com.tangem.core.ui.extensions.TextReference
|
||||
import com.tangem.core.ui.extensions.networkIconResId
|
||||
import com.tangem.core.ui.extensions.resourceReference
|
||||
import com.tangem.core.ui.extensions.themedColor
|
||||
import com.tangem.core.ui.res.TangemTheme
|
||||
import com.tangem.domain.models.currency.CryptoCurrency
|
||||
import com.tangem.domain.models.network.Network
|
||||
|
|
@ -83,7 +84,7 @@ internal class TokenDetailsSkeletonStateConverter(
|
|||
addGenerateXPubMenuItem(cryptoCurrency)
|
||||
TangemDropdownMenuItem(
|
||||
title = TextReference.Res(id = R.string.token_details_hide_token),
|
||||
textColorProvider = { TangemTheme.colors.text.warning },
|
||||
textColor = themedColor { TangemTheme.colors.text.warning },
|
||||
onClick = clickIntents::onHideClick,
|
||||
).let(::add)
|
||||
}.toImmutableList(),
|
||||
|
|
@ -102,7 +103,7 @@ internal class TokenDetailsSkeletonStateConverter(
|
|||
add(
|
||||
TangemDropdownMenuItem(
|
||||
title = resourceReference(R.string.token_details_generate_xpub),
|
||||
textColorProvider = { TangemTheme.colors.text.primary1 },
|
||||
textColor = themedColor { TangemTheme.colors.text.primary1 },
|
||||
onClick = clickIntents::onGenerateExtendedKey,
|
||||
),
|
||||
)
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ import com.tangem.core.ui.components.bottomsheets.TangemBottomSheetConfig
|
|||
import com.tangem.core.ui.components.dropdownmenu.TangemDropdownMenuItem
|
||||
import com.tangem.core.ui.extensions.TextReference
|
||||
import com.tangem.core.ui.extensions.resourceReference
|
||||
import com.tangem.core.ui.extensions.themedColor
|
||||
import com.tangem.core.ui.res.TangemTheme
|
||||
import com.tangem.domain.appcurrency.model.AppCurrency
|
||||
import com.tangem.domain.card.common.util.cardTypesResolver
|
||||
|
|
@ -345,13 +346,13 @@ internal class TokenDetailsStateFactory(
|
|||
if (isSupported && hasDerivations) {
|
||||
TangemDropdownMenuItem(
|
||||
title = resourceReference(R.string.token_details_generate_xpub),
|
||||
textColorProvider = { TangemTheme.colors.text.primary1 },
|
||||
textColor = themedColor { TangemTheme.colors.text.primary1 },
|
||||
onClick = clickIntents::onGenerateExtendedKey,
|
||||
).let(::add)
|
||||
}
|
||||
TangemDropdownMenuItem(
|
||||
title = TextReference.Res(id = R.string.token_details_hide_token),
|
||||
textColorProvider = { TangemTheme.colors.text.warning },
|
||||
textColor = themedColor { TangemTheme.colors.text.warning },
|
||||
onClick = clickIntents::onHideClick,
|
||||
).let(::add)
|
||||
}.toImmutableList(),
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ import com.tangem.core.decompose.ui.UiMessageSender
|
|||
import com.tangem.core.ui.components.appbar.models.TopAppBarButtonUM
|
||||
import com.tangem.core.ui.components.dropdownmenu.TangemDropdownMenuItem
|
||||
import com.tangem.core.ui.extensions.resourceReference
|
||||
import com.tangem.core.ui.extensions.themedColor
|
||||
import com.tangem.core.ui.message.DialogMessage
|
||||
import com.tangem.core.ui.message.EventMessageAction
|
||||
import com.tangem.core.ui.message.SnackbarMessage
|
||||
|
|
@ -139,7 +140,7 @@ internal class WcConnectionsModel @Inject constructor(
|
|||
),
|
||||
disconnectAllItem = TangemDropdownMenuItem(
|
||||
title = resourceReference(R.string.wc_disconnect_all),
|
||||
textColorProvider = { TangemTheme.colors.text.warning },
|
||||
textColor = themedColor { TangemTheme.colors.text.warning },
|
||||
onClick = ::showDisconnectAllDialog,
|
||||
),
|
||||
),
|
||||
|
|
|
|||
|
|
@ -3,12 +3,9 @@ package com.tangem.features.walletconnect.connections.ui.preview
|
|||
import com.tangem.core.ui.components.appbar.models.TopAppBarButtonUM
|
||||
import com.tangem.core.ui.components.dropdownmenu.TangemDropdownMenuItem
|
||||
import com.tangem.core.ui.extensions.resourceReference
|
||||
import com.tangem.core.ui.extensions.themedColor
|
||||
import com.tangem.core.ui.res.TangemTheme
|
||||
import com.tangem.features.walletconnect.connections.entity.VerifiedDAppState
|
||||
import com.tangem.features.walletconnect.connections.entity.WcConnectedAppInfo
|
||||
import com.tangem.features.walletconnect.connections.entity.WcConnectionsState
|
||||
import com.tangem.features.walletconnect.connections.entity.WcConnectionsTopAppBarConfig
|
||||
import com.tangem.features.walletconnect.connections.entity.WcConnectionsUM
|
||||
import com.tangem.features.walletconnect.connections.entity.*
|
||||
import com.tangem.features.walletconnect.impl.R
|
||||
import kotlinx.collections.immutable.persistentListOf
|
||||
import timber.log.Timber
|
||||
|
|
@ -124,7 +121,7 @@ internal object WcConnectionsPreviewData {
|
|||
),
|
||||
disconnectAllItem = TangemDropdownMenuItem(
|
||||
title = resourceReference(R.string.wc_disconnect_all),
|
||||
textColorProvider = { TangemTheme.colors.text.warning },
|
||||
textColor = themedColor { TangemTheme.colors.text.warning },
|
||||
onClick = { },
|
||||
),
|
||||
),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue