Updated on 2026-08-14

This commit is contained in:
Tangem 2024-04-27 15:35:08 +03:00
parent b96f007568
commit fa7a381e04
131 changed files with 736 additions and 1778 deletions

View file

@ -1,5 +1,6 @@
package com.tangem.managetokens.presentation.addcustomtoken.ui
import android.content.res.Configuration
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.lazy.LazyColumn
@ -24,6 +25,7 @@ import com.tangem.core.ui.components.bottomsheets.TangemBottomSheetConfig
import com.tangem.core.ui.components.keyboardAsState
import com.tangem.core.ui.extensions.resolveReference
import com.tangem.core.ui.res.TangemTheme
import com.tangem.core.ui.res.TangemThemePreview
import com.tangem.features.managetokens.impl.R
import com.tangem.managetokens.presentation.common.state.AlertState
import com.tangem.managetokens.presentation.common.state.ChooseWalletState
@ -287,17 +289,10 @@ private fun TokenTextFieldTitle(state: TextFieldState?, title: String) {
}
@Preview
@Preview(uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable
private fun Preview_ChooseDerivationScreen_Light() {
TangemTheme(isDark = false) {
AddCustomTokenScreen(state = AddCustomTokenPreviewData.state)
}
}
@Preview
@Composable
private fun Preview_ChooseDerivationScreen_Dark() {
TangemTheme(isDark = true) {
private fun Preview_ChooseDerivationScreen() {
TangemThemePreview {
AddCustomTokenScreen(state = AddCustomTokenPreviewData.state)
}
}

View file

@ -1,5 +1,6 @@
package com.tangem.managetokens.presentation.addcustomtoken.ui
import android.content.res.Configuration
import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.*
@ -13,6 +14,7 @@ import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import com.tangem.core.ui.decorations.roundedShapeItemDecoration
import com.tangem.core.ui.res.TangemThemePreview
import com.tangem.core.ui.res.TangemTheme
import com.tangem.features.managetokens.impl.R
import com.tangem.managetokens.presentation.common.ui.components.SimpleSelectionBlock
@ -98,17 +100,10 @@ private fun DerivationsList(state: ChooseDerivationState) {
}
@Preview
@Preview(uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable
private fun Preview_ChooseDerivationScreen_Light() {
TangemTheme(isDark = false) {
ChooseDerivationScreen(state = ChooseDerivationPreviewData.state)
}
}
@Preview
@Composable
private fun Preview_ChooseDerivationScreen_Dark() {
TangemTheme(isDark = true) {
private fun Preview_ChooseDerivationScreen() {
TangemThemePreview {
ChooseDerivationScreen(state = ChooseDerivationPreviewData.state)
}
}

View file

@ -1,5 +1,6 @@
package com.tangem.managetokens.presentation.addcustomtoken.ui
import android.content.res.Configuration
import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.*
@ -13,6 +14,7 @@ import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import com.tangem.core.ui.decorations.roundedShapeItemDecoration
import com.tangem.core.ui.res.TangemThemePreview
import com.tangem.core.ui.res.TangemTheme
import com.tangem.features.managetokens.impl.R
import com.tangem.managetokens.presentation.common.ui.components.NetworkItem
@ -78,17 +80,10 @@ internal fun ChooseNetworkCustomScreen(state: ChooseNetworkState, modifier: Modi
}
@Preview
@Preview(uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable
private fun Preview_ChooseNetworkScreen_Light() {
TangemTheme(isDark = false) {
ChooseNetworkCustomScreen(ChooseNetworkCustomPreviewData.state)
}
}
@Preview
@Composable
private fun Preview_ChooseNetworkScreen_Dark() {
TangemTheme(isDark = true) {
private fun Preview_ChooseNetworkScreen() {
TangemThemePreview {
ChooseNetworkCustomScreen(ChooseNetworkCustomPreviewData.state)
}
}

View file

@ -1,5 +1,6 @@
package com.tangem.managetokens.presentation.common.ui
import android.content.res.Configuration
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
@ -23,6 +24,7 @@ import com.tangem.core.ui.components.SpacerW12
import com.tangem.core.ui.components.SpacerWMax
import com.tangem.core.ui.decorations.roundedShapeItemDecoration
import com.tangem.core.ui.res.TangemTheme
import com.tangem.core.ui.res.TangemThemePreview
import com.tangem.features.managetokens.impl.R
import com.tangem.managetokens.presentation.common.state.ChooseWalletState
import com.tangem.managetokens.presentation.common.state.WalletState
@ -137,19 +139,10 @@ private fun WalletItem(wallet: WalletState, selectedWallet: WalletState?, modifi
}
@Preview
@Preview(uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable
private fun Preview_ChooseWalletScreen_Light() {
TangemTheme(isDark = false) {
ChooseWalletScreen(
state = ChooseWalletStatePreviewData.state,
)
}
}
@Preview
@Composable
private fun Preview_ChooseWalletScreen_Dark() {
TangemTheme(isDark = false) {
private fun Preview_ChooseWalletScreen() {
TangemThemePreview {
ChooseWalletScreen(
state = ChooseWalletStatePreviewData.state,
)

View file

@ -1,5 +1,6 @@
package com.tangem.managetokens.presentation.common.ui.components
import android.content.res.Configuration
import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.*
@ -18,6 +19,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.compose.ui.tooling.preview.datasource.CollectionPreviewParameterProvider
import com.tangem.core.ui.components.SpacerW
import com.tangem.core.ui.components.TangemSwitch
import com.tangem.core.ui.res.TangemThemePreview
import com.tangem.core.ui.res.TangemTheme
import com.tangem.features.managetokens.impl.R
import com.tangem.managetokens.presentation.common.state.NetworkItemState
@ -122,17 +124,10 @@ internal fun NetworkIcon(model: NetworkItemState, modifier: Modifier = Modifier)
}
@Preview
@Preview(uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable
private fun Preview_NetworkItem_Light(@PreviewParameter(NetworkItemStateProvider::class) state: NetworkItemState) {
TangemTheme(isDark = false) {
NetworkItem(state, tokenState = TokenItemStatePreviewData.loadedPriceDown as TokenItemState.Loaded)
}
}
@Preview
@Composable
private fun Preview_NetworkItem_Dark(@PreviewParameter(NetworkItemStateProvider::class) state: NetworkItemState) {
TangemTheme(isDark = true) {
private fun Preview_NetworkItem(@PreviewParameter(NetworkItemStateProvider::class) state: NetworkItemState) {
TangemThemePreview {
NetworkItem(state, tokenState = TokenItemStatePreviewData.loadedPriceDown as TokenItemState.Loaded)
}
}

View file

@ -1,5 +1,6 @@
package com.tangem.managetokens.presentation.common.ui.components
import android.content.res.Configuration
import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Column
@ -12,6 +13,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.tooling.preview.Preview
import com.tangem.core.ui.components.SpacerH
import com.tangem.core.ui.res.TangemThemePreview
import com.tangem.core.ui.res.TangemTheme
@Composable
@ -54,17 +56,10 @@ fun SimpleSelectionBlock(
}
@Preview
@Preview(uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable
private fun Preview_SimpleSelectionBlock_Light() {
TangemTheme(isDark = false) {
SimpleSelectionBlock(title = "Wallet", subtitle = "Family Wallet", onClick = { })
}
}
@Preview
@Composable
private fun Preview_SimpleSelectionBlock_Dark() {
TangemTheme(isDark = true) {
private fun Preview_SimpleSelectionBlock() {
TangemThemePreview {
SimpleSelectionBlock(title = "Wallet", subtitle = "Family Wallet", onClick = { })
}
}

View file

@ -1,5 +1,6 @@
package com.tangem.managetokens.presentation.managetokens.ui
import android.content.res.Configuration
import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.*
@ -17,6 +18,7 @@ import com.tangem.core.ui.components.SpacerH
import com.tangem.core.ui.components.SpacerW
import com.tangem.core.ui.components.WarningCardTitleOnly
import com.tangem.core.ui.decorations.roundedShapeItemDecoration
import com.tangem.core.ui.res.TangemThemePreview
import com.tangem.core.ui.res.TangemTheme
import com.tangem.features.managetokens.impl.R
import com.tangem.managetokens.presentation.common.state.ChooseWalletState
@ -187,20 +189,10 @@ private fun NonNativeNetworksHeader(onNonNativeNetworkHintClick: () -> Unit) {
}
@Preview
@Preview(uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable
private fun Preview_ChooseNetworkScreen_Light() {
TangemTheme(isDark = false) {
ChooseNetworkScreen(
state = TokenItemStatePreviewData.loadedPriceDown as TokenItemState.Loaded,
walletState = ChooseWalletStatePreviewData.state,
)
}
}
@Preview
@Composable
private fun Preview_ChooseNetworkScreen_Dark() {
TangemTheme(isDark = true) {
private fun Preview_ChooseNetworkScreen() {
TangemThemePreview {
ChooseNetworkScreen(
state = TokenItemStatePreviewData.loadedPriceDown as TokenItemState.Loaded,
walletState = ChooseWalletStatePreviewData.state,

View file

@ -1,5 +1,6 @@
package com.tangem.managetokens.presentation.managetokens.ui
import android.content.res.Configuration
import androidx.compose.animation.core.animateDpAsState
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.*
@ -22,6 +23,7 @@ import com.tangem.core.ui.components.Keyboard
import com.tangem.core.ui.components.SpacerH18
import com.tangem.core.ui.components.bottomsheets.TangemBottomSheetConfig
import com.tangem.core.ui.components.keyboardAsState
import com.tangem.core.ui.res.TangemThemePreview
import com.tangem.core.ui.res.TangemTheme
import com.tangem.managetokens.presentation.addcustomtoken.ui.AddCustomTokenBottomSheet
import com.tangem.managetokens.presentation.common.state.AlertState
@ -177,23 +179,13 @@ private fun ManageTokensBottomSheet(selectedToken: TokenItemState.Loaded, state:
}
@Preview
@Preview(uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable
private fun Preview_ManageTokensScreen_LightTheme(
private fun Preview_ManageTokensScreen(
@PreviewParameter(ManageTokensConfigProvider::class)
state: ManageTokensState,
) {
TangemTheme(isDark = false) {
ManageTokensScreen(state) {}
}
}
@Preview
@Composable
private fun Preview_ManageTokensScreen_DarkTheme(
@PreviewParameter(ManageTokensConfigProvider::class)
state: ManageTokensState,
) {
TangemTheme(isDark = true) {
TangemThemePreview {
ManageTokensScreen(state) {}
}
}

View file

@ -1,5 +1,6 @@
package com.tangem.managetokens.presentation.managetokens.ui.components
import android.content.res.Configuration
import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.*
@ -14,6 +15,7 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import com.tangem.core.ui.components.SpacerW
import com.tangem.core.ui.res.TangemTheme
import com.tangem.core.ui.res.TangemThemePreview
import com.tangem.features.managetokens.impl.R
@Composable
@ -49,17 +51,10 @@ internal fun AddCustomTokenButton(onButtonClick: () -> Unit, modifier: Modifier
}
@Preview
@Preview(uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable
private fun AddCustomTokenButton_Preview_Light() {
TangemTheme(isDark = false) {
AddCustomTokenButton(onButtonClick = { })
}
}
@Preview
@Composable
private fun AddCustomTokenButton_Preview_Dark() {
TangemTheme(isDark = true) {
private fun AddCustomTokenButton_Preview() {
TangemThemePreview {
AddCustomTokenButton(onButtonClick = { })
}
}

View file

@ -1,5 +1,6 @@
package com.tangem.managetokens.presentation.managetokens.ui.components
import android.content.res.Configuration
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.shape.CircleShape
@ -18,6 +19,7 @@ import com.tangem.core.ui.components.SpacerW
import com.tangem.core.ui.components.notifications.NotificationConfig
import com.tangem.core.ui.extensions.TextReference
import com.tangem.core.ui.extensions.resolveReference
import com.tangem.core.ui.res.TangemThemePreview
import com.tangem.core.ui.res.TangemTheme
import com.tangem.features.managetokens.impl.R
import com.tangem.managetokens.presentation.managetokens.state.previewdata.DerivationNotificationStatePreviewData
@ -127,17 +129,10 @@ private fun TextsBlock(title: TextReference, subtitle: TextReference) {
}
@Preview
@Preview(uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable
private fun Preview_ManageTokensScreen_LightTheme() {
TangemTheme(isDark = false) {
DerivationNotification(DerivationNotificationStatePreviewData.state.config)
}
}
@Preview
@Composable
private fun Preview_ManageTokensScreen_DarkTheme() {
TangemTheme(isDark = true) {
private fun Preview_ManageTokensScreen() {
TangemThemePreview {
DerivationNotification(DerivationNotificationStatePreviewData.state.config)
}
}

View file

@ -14,6 +14,7 @@ import androidx.compose.ui.graphics.drawscope.DrawScope
import androidx.compose.ui.graphics.drawscope.Stroke
import androidx.compose.ui.tooling.preview.Preview
import com.tangem.core.ui.res.TangemTheme
import com.tangem.core.ui.res.TangemThemePreview
import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.persistentListOf
@ -105,7 +106,7 @@ private fun getValuePercentageForRange(value: Float, max: Float, min: Float): Fl
@Preview(widthDp = 150, heightDp = 150, showBackground = true)
@Composable
private fun Chart_Positive_Preview() {
TangemTheme(isDark = true) {
TangemThemePreview(isDark = true) {
PriceChangesChart(
persistentListOf(1f, 2f, 4f, 1f, 5f),
)
@ -115,7 +116,7 @@ private fun Chart_Positive_Preview() {
@Preview(widthDp = 150, heightDp = 150, showBackground = true)
@Composable
private fun Chart_Negative_Preview() {
TangemTheme(isDark = true) {
TangemThemePreview(isDark = true) {
PriceChangesChart(
persistentListOf(10f, 2f, 4f, 1f, 5f),
)
@ -125,7 +126,7 @@ private fun Chart_Negative_Preview() {
@Preview(widthDp = 150, heightDp = 150, showBackground = true)
@Composable
private fun Chart_Neutral_Preview() {
TangemTheme(isDark = true) {
TangemThemePreview(isDark = true) {
PriceChangesChart(
persistentListOf(5f, 2f, 4f, 1f, 5f),
)

View file

@ -1,5 +1,6 @@
package com.tangem.managetokens.presentation.managetokens.ui.components
import android.content.res.Configuration
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.shape.RoundedCornerShape
@ -20,6 +21,7 @@ import androidx.compose.ui.text.input.KeyboardType
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.compose.ui.tooling.preview.datasource.CollectionPreviewParameterProvider
import com.tangem.core.ui.res.TangemThemePreview
import com.tangem.core.ui.res.TangemTheme
import com.tangem.features.managetokens.impl.R
import com.tangem.managetokens.presentation.managetokens.state.SearchBarState
@ -107,20 +109,13 @@ private fun searchbarTextFieldColors(): TextFieldColors {
}
@Preview
@Preview(uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable
private fun Preview_TokensSearchBar_Light(
private fun Preview_TokensSearchBar(
@PreviewParameter(SearchBarkConfigProvider::class)
state: SearchBarState,
) {
TangemTheme(isDark = false) {
TokensSearchBar(state)
}
}
@Preview
@Composable
private fun Preview_TokensSearchBar_Dark(@PreviewParameter(SearchBarkConfigProvider::class) state: SearchBarState) {
TangemTheme(isDark = true) {
TangemThemePreview {
TokensSearchBar(state)
}
}

View file

@ -1,5 +1,6 @@
package com.tangem.managetokens.presentation.managetokens.ui.components
import android.content.res.Configuration
import androidx.compose.foundation.clickable
import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.foundation.layout.Box
@ -18,6 +19,7 @@ import com.tangem.core.ui.components.buttons.PrimarySmallButton
import com.tangem.core.ui.components.buttons.SecondarySmallButton
import com.tangem.core.ui.components.buttons.SmallButtonConfig
import com.tangem.core.ui.extensions.resourceReference
import com.tangem.core.ui.res.TangemThemePreview
import com.tangem.core.ui.res.TangemTheme
import com.tangem.features.managetokens.impl.R
import com.tangem.managetokens.presentation.managetokens.state.TokenButtonType
@ -66,17 +68,10 @@ internal fun TokenButton(type: TokenButtonType, onClick: () -> Unit, modifier: M
}
@Preview(backgroundColor = 0xffffff, showBackground = true)
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable
private fun TokenButton_Light_Preview(@PreviewParameter(TokenButtonTypeProvider::class) type: TokenButtonType) {
TangemTheme(isDark = false) {
TokenButton(type = type, {})
}
}
@Preview(showBackground = true)
@Composable
private fun TokenButton_Dark_Preview(@PreviewParameter(TokenButtonTypeProvider::class) type: TokenButtonType) {
TangemTheme(isDark = true) {
private fun TokenButton_Preview(@PreviewParameter(TokenButtonTypeProvider::class) type: TokenButtonType) {
TangemThemePreview {
TokenButton(type = type, {})
}
}

View file

@ -1,5 +1,6 @@
package com.tangem.managetokens.presentation.managetokens.ui.components
import android.content.res.Configuration
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.*
import androidx.compose.material3.Surface
@ -14,6 +15,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.compose.ui.tooling.preview.datasource.CollectionPreviewParameterProvider
import androidx.compose.ui.unit.Dp
import com.tangem.core.ui.components.*
import com.tangem.core.ui.res.TangemThemePreview
import com.tangem.core.ui.res.TangemTheme
import com.tangem.managetokens.presentation.managetokens.state.QuotesState
import com.tangem.managetokens.presentation.managetokens.state.TokenItemState
@ -182,17 +184,10 @@ private fun BaseSurface(modifier: Modifier = Modifier, content: @Composable () -
// region Preview
@Preview(showBackground = true, widthDp = 360)
@Preview(showBackground = true, widthDp = 360, uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable
private fun Preview_Tokens_LightTheme(@PreviewParameter(TokenConfigProvider::class) state: TokenItemState) {
TangemTheme(isDark = false) {
TokenRowItem(state)
}
}
@Preview(showBackground = true, widthDp = 360)
@Composable
private fun Preview_Tokens_DarkTheme(@PreviewParameter(TokenConfigProvider::class) state: TokenItemState) {
TangemTheme(isDark = true) {
private fun Preview_Tokens(@PreviewParameter(TokenConfigProvider::class) state: TokenItemState) {
TangemThemePreview {
TokenRowItem(state)
}
}