Updated on 2026-08-14

This commit is contained in:
Tangem 2022-04-19 21:46:12 +03:00
parent 588123f50c
commit a8975ac38b
3 changed files with 65 additions and 16 deletions

View file

@ -0,0 +1,53 @@
package com.tangem.tap.common.compose
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.padding
import androidx.compose.material.MaterialTheme
import androidx.compose.material.Surface
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.colorResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import com.tangem.common.module.ModuleMessage
import com.tangem.tap.common.moduleMessage.ModuleMessageConverter
import com.tangem.wallet.R
/**
[REDACTED_AUTHOR]
*/
@Composable
fun AddCustomTokenWarning(
modifier: Modifier = Modifier,
warning: ModuleMessage,
converter: ModuleMessageConverter
) {
Surface(
modifier = modifier,
shape = MaterialTheme.shapes.small,
color = colorResource(id = R.color.warning_warning),
elevation = 4.dp,
) {
Column(
modifier = Modifier.padding(16.dp),
) {
Text(
text = stringResource(id = R.string.common_warning),
color = colorResource(id = R.color.white),
fontSize = 14.sp,
fontWeight = FontWeight.Bold
)
SpacerH8()
Text(
text = converter.convert(warning),
color = colorResource(id = R.color.white),
fontSize = 13.sp,
lineHeight = 18.sp
)
}
}
}

View file

@ -12,7 +12,6 @@ import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.colorResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import com.tangem.domain.AddCustomTokenError
import com.tangem.domain.common.form.DataField
import com.tangem.domain.common.form.FieldId
@ -22,6 +21,7 @@ import com.tangem.domain.features.addCustomToken.redux.AddCustomTokenState
import com.tangem.domain.features.addCustomToken.redux.ScreenState
import com.tangem.domain.features.addCustomToken.redux.ViewStates
import com.tangem.domain.redux.domainStore
import com.tangem.tap.common.compose.AddCustomTokenWarning
import com.tangem.tap.common.compose.ComposeDialogManager
import com.tangem.tap.common.compose.ToggledRippleTheme
import com.tangem.tap.common.compose.keyboardAsState
@ -51,7 +51,7 @@ fun AddCustomTokenScreen(state: MutableState<AddCustomTokenState>) {
LazyColumn(
contentPadding = PaddingValues(bottom = 90.dp)
) {
// item { AddCustomTokenDebugActions() }
item { AddCustomTokenDebugActions() }
item {
Surface(
modifier = Modifier.padding(16.dp),
@ -110,19 +110,11 @@ fun Warnings(warnings: List<AddCustomTokenError.Warning>) {
warnings.lastIndex -> Modifier.padding(16.dp, 8.dp, 16.dp, 16.dp)
else -> Modifier.padding(16.dp, 8.dp, 16.dp, 0.dp)
}
Surface(
AddCustomTokenWarning(
modifier = modifier.fillMaxWidth(),
shape = MaterialTheme.shapes.small,
color = colorResource(id = R.color.warning_warning),
elevation = 4.dp,
) {
Text(
modifier = Modifier.padding(16.dp),
text = warningConverter.convert(item),
color = colorResource(id = R.color.white),
fontSize = 14.sp
)
}
warning = item,
converter = warningConverter
)
}
}
}

View file

@ -47,9 +47,13 @@ class TokenContractAddressValidator : CustomTokenValidator<String>() {
private fun getAddressService(): AddressService {
return when (blockchain) {
Blockchain.Solana, Blockchain.SolanaTestnet -> SolanaAddressService()
Blockchain.Unknown -> EthereumAddressService()
else -> {
if (blockchain.isEvm()) EthereumAddressService()
else throw UnsupportedOperationException()
if (blockchain.isEvm()) {
EthereumAddressService()
} else {
throw UnsupportedOperationException()
}
}
}
}