From 2313831fc174eb79b7e40198ccef06fb58705f70 Mon Sep 17 00:00:00 2001 From: Tangem Date: Tue, 15 Oct 2024 11:53:08 +0400 Subject: [PATCH] Updated on 2026-08-14 --- .../TokenMarketExchangeConverter.kt | 13 +++- .../impl/model/MarketsTokenDetailsModel.kt | 7 +- .../ui/components/ExchangesBottomSheet.kt | 69 ++++++++----------- .../impl/ui/components/ListedOnBlock.kt | 11 +-- 4 files changed, 53 insertions(+), 47 deletions(-) diff --git a/data/markets/src/main/java/com/tangem/data/markets/converters/TokenMarketExchangeConverter.kt b/data/markets/src/main/java/com/tangem/data/markets/converters/TokenMarketExchangeConverter.kt index 94aae7673a..4660b28ef9 100644 --- a/data/markets/src/main/java/com/tangem/data/markets/converters/TokenMarketExchangeConverter.kt +++ b/data/markets/src/main/java/com/tangem/data/markets/converters/TokenMarketExchangeConverter.kt @@ -1,6 +1,7 @@ package com.tangem.data.markets.converters import com.tangem.datasource.api.markets.models.response.TokenMarketExchangesResponse +import com.tangem.domain.markets.BuildConfig import com.tangem.domain.markets.TokenMarketExchange import com.tangem.utils.converter.Converter @@ -11,6 +12,8 @@ import com.tangem.utils.converter.Converter */ internal object TokenMarketExchangeConverter : Converter { + private const val PROD_IMAGE_HOST = "https://s3.eu-central-1.amazonaws.com/tangem.api/exchanges/" + private const val DEV_IMAGE_HOST = "https://s3.eu-central-1.amazonaws.com/tangem.api.dev/exchanges/" private val RISKY_INTERVAL = 0..3 private val CAUTION_INTERVAL = 4..7 @@ -19,7 +22,7 @@ internal object TokenMarketExchangeConverter : Converter - Column( - modifier = Modifier - .fillMaxSize() - .verticalScroll(state = rememberScrollState()), - ) { - Subtitle( - subtitleRes = content.subtitleResId, - volumeReference = content.volumeReference, - modifier = Modifier.padding( - start = TangemTheme.dimens.spacing16, - top = TangemTheme.dimens.spacing12, - end = TangemTheme.dimens.spacing16, - bottom = TangemTheme.dimens.spacing8, - ), - ) - - when (content) { - is ExchangesBottomSheetContent.Content, - is ExchangesBottomSheetContent.Loading, - -> { - content.exchangeItems.fastForEach { item -> - key(item.id) { - TokenItem(state = item, isBalanceHidden = false) - } - } - } - is ExchangesBottomSheetContent.Error -> { - Error( - content = content, - modifier = Modifier - .align(alignment = Alignment.CenterHorizontally) - .padding(horizontal = 16.dp) - .weight(1f), + Box { + LazyColumn( + modifier = Modifier.fillMaxSize(), + contentPadding = PaddingValues(bottom = bottomBarHeight), + ) { + item(key = "subtitle") { + Subtitle( + subtitleRes = content.subtitleResId, + volumeReference = content.volumeReference, + modifier = Modifier.padding( + start = TangemTheme.dimens.spacing16, + top = TangemTheme.dimens.spacing12, + end = TangemTheme.dimens.spacing16, + bottom = TangemTheme.dimens.spacing8, + ), ) } + + items( + items = content.exchangeItems, + key = TokenItemState::id, + itemContent = { TokenItem(state = it, isBalanceHidden = false) }, + ) } - SpacerH(bottomBarHeight) + if (content is ExchangesBottomSheetContent.Error) { + Error( + content = content, + modifier = Modifier.align(Alignment.Center), + ) + } } }, ) diff --git a/features/markets/impl/src/main/kotlin/com/tangem/features/markets/details/impl/ui/components/ListedOnBlock.kt b/features/markets/impl/src/main/kotlin/com/tangem/features/markets/details/impl/ui/components/ListedOnBlock.kt index 2ba168b352..3d5714135e 100644 --- a/features/markets/impl/src/main/kotlin/com/tangem/features/markets/details/impl/ui/components/ListedOnBlock.kt +++ b/features/markets/impl/src/main/kotlin/com/tangem/features/markets/details/impl/ui/components/ListedOnBlock.kt @@ -10,6 +10,7 @@ import androidx.compose.material3.Text import androidx.compose.runtime.* import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip import androidx.compose.ui.res.painterResource import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview @@ -33,7 +34,7 @@ import kotlinx.coroutines.delay */ @Composable internal fun ListedOnBlock(state: ListedOnUM, modifier: Modifier = Modifier) { - Box { + Box(modifier = modifier) { InformationBlock( title = { Text( @@ -44,9 +45,11 @@ internal fun ListedOnBlock(state: ListedOnUM, modifier: Modifier = Modifier) { overflow = TextOverflow.Ellipsis, ) }, - modifier = modifier.clickable(enabled = state is ListedOnUM.Content) { - (state as? ListedOnUM.Content)?.onClick?.invoke() - }, + modifier = Modifier + .clip(shape = TangemTheme.shapes.roundedCornersXMedium) + .clickable(enabled = state is ListedOnUM.Content) { + (state as? ListedOnUM.Content)?.onClick?.invoke() + }, ) { Description( state = state,