Updated on 2026-08-14

This commit is contained in:
Tangem 2026-06-10 17:44:06 +02:00
parent c443fa43c3
commit 5fddb62d4e
2 changed files with 17 additions and 19 deletions

View file

@ -208,7 +208,7 @@ private fun WalletContent2(
val pullToRefreshState = rememberPullToRefreshState()
Box(
BoxWithConstraints(
modifier = Modifier
.fillMaxSize()
.hazeSourceTangem(zIndex = -2f),
@ -307,11 +307,15 @@ private fun WalletContent2(
TangemCollapsingTopBar(
state = behavior.state,
collapsingPart = {
val balanceBlockHeight = with(LocalDensity.current) {
-behavior.state.heightOffsetLimit.toDp()
}
WalletBalance(
behavior = behavior,
walletBalanceUM = currentWallet.walletsBalanceUM,
buttons = currentWallet.buttons,
isBalanceHidden = state.isHidingMode,
modifier = Modifier.height(balanceBlockHeight),
onSubtitleBottomChange = { newValue ->
if (pullToRefreshContentOffset == 0.dp && newValue > subtitleBottom) {
subtitleBottom = newValue
@ -348,11 +352,12 @@ private fun WalletContent2(
MarketsTooltip(
modifier = Modifier
.align(Alignment.BottomCenter)
.padding(bottom = 24.dp)
.padding(bottom = 8.dp)
.padding(horizontal = 12.dp)
.fillMaxWidth(),
isVisible = state.showMarketsOnboarding,
availableHeight = LocalWindowSize.current.height,
availableHeight = maxHeight,
sheetTopInset = TangemTheme.dimens2.x3,
bottomSheetState = bottomSheetState,
onCloseClick = state.onDismissMarketsTooltip,
)

View file

@ -10,19 +10,17 @@ import androidx.compose.animation.fadeOut
import androidx.compose.animation.slideIn
import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.offset
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.*
import androidx.compose.material3.Icon
import androidx.compose.material3.Text
import androidx.compose.runtime.*
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.shadow
import androidx.compose.ui.geometry.*
import androidx.compose.ui.geometry.CornerRadius
import androidx.compose.ui.geometry.Rect
import androidx.compose.ui.geometry.RoundRect
import androidx.compose.ui.geometry.Size
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.Outline
import androidx.compose.ui.graphics.Path
@ -31,12 +29,7 @@ import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.platform.testTag
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Density
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.DpSize
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.LayoutDirection
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.*
import com.tangem.core.ui.components.sheetscaffold.TangemSheetState
import com.tangem.core.ui.extensions.stringResourceSafe
import com.tangem.core.ui.res.TangemTheme
@ -53,10 +46,11 @@ internal fun MarketsTooltip(
bottomSheetState: TangemSheetState,
isVisible: Boolean,
onCloseClick: () -> Unit,
sheetTopInset: Dp,
modifier: Modifier = Modifier,
) {
val density = LocalDensity.current
val tooltipOffset by remember {
val tooltipOffset by remember(availableHeight, sheetTopInset) {
derivedStateOf {
val bottomSheetOffset = try {
// Can throw exception during the first composition
@ -64,8 +58,7 @@ internal fun MarketsTooltip(
} catch (e: Exception) {
0.dp
}
bottomSheetOffset - availableHeight
bottomSheetOffset + sheetTopInset - availableHeight
}
}