Updated on 2026-08-14
This commit is contained in:
parent
9ab23a953d
commit
c89a95265d
23 changed files with 126 additions and 90 deletions
|
|
@ -66,9 +66,8 @@ internal fun DisclaimerScreen(state: DisclaimerUM) {
|
|||
) {
|
||||
TangemTopAppBar(
|
||||
title = resourceReference(R.string.disclaimer_title),
|
||||
startButton = TopAppBarButtonUM(
|
||||
iconRes = R.drawable.ic_back_24,
|
||||
onIconClicked = state.popBack,
|
||||
startButton = TopAppBarButtonUM.Back(
|
||||
onBackClicked = state.popBack,
|
||||
).takeIf { state.isTosAccepted },
|
||||
titleAlignment = Alignment.CenterHorizontally,
|
||||
textColor = textColor,
|
||||
|
|
|
|||
|
|
@ -42,9 +42,9 @@ internal class PreviewManageTokensComponent(
|
|||
ManageTokensTopBarUM.ManageContent(
|
||||
title = resourceReference(id = R.string.main_manage_tokens),
|
||||
onBackButtonClick = {},
|
||||
endButton = TopAppBarButtonUM(
|
||||
endButton = TopAppBarButtonUM.Icon(
|
||||
iconRes = R.drawable.ic_plus_24,
|
||||
onIconClicked = {},
|
||||
onClicked = {},
|
||||
),
|
||||
)
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -129,9 +129,9 @@ internal class ManageTokensModel @Inject constructor(
|
|||
topBar = ManageTokensTopBarUM.ManageContent(
|
||||
title = resourceReference(id = R.string.main_manage_tokens),
|
||||
onBackButtonClick = router::pop,
|
||||
endButton = TopAppBarButtonUM(
|
||||
endButton = TopAppBarButtonUM.Icon(
|
||||
iconRes = R.drawable.ic_plus_24,
|
||||
onIconClicked = ::navigateToAddCustomToken,
|
||||
onClicked = ::navigateToAddCustomToken,
|
||||
),
|
||||
),
|
||||
search = SearchBarUM(
|
||||
|
|
|
|||
|
|
@ -28,9 +28,8 @@ internal fun NFTDetails(state: NFTDetailsUM, modifier: Modifier = Modifier) {
|
|||
) {
|
||||
TangemTopAppBar(
|
||||
modifier = Modifier,
|
||||
startButton = TopAppBarButtonUM(
|
||||
iconRes = R.drawable.ic_back_24,
|
||||
onIconClicked = state.onBackClick,
|
||||
startButton = TopAppBarButtonUM.Back(
|
||||
onBackClicked = state.onBackClick,
|
||||
),
|
||||
title = state.nftAsset.name,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -28,9 +28,8 @@ internal fun NFTReceive(state: NFTReceiveUM, modifier: Modifier = Modifier) {
|
|||
) {
|
||||
TangemTopAppBar(
|
||||
modifier = Modifier,
|
||||
startButton = TopAppBarButtonUM(
|
||||
iconRes = R.drawable.ic_close_24,
|
||||
onIconClicked = state.onBackClick,
|
||||
startButton = TopAppBarButtonUM.Back(
|
||||
onBackClicked = state.onBackClick,
|
||||
),
|
||||
title = stringResourceSafe(id = R.string.nft_receive_title),
|
||||
subtitle = state.appBarSubtitle.resolveReference(),
|
||||
|
|
|
|||
|
|
@ -22,9 +22,8 @@ internal fun NFTAssetTraits(state: NFTAssetTraitsUM, modifier: Modifier = Modifi
|
|||
) {
|
||||
TangemTopAppBar(
|
||||
modifier = Modifier,
|
||||
startButton = TopAppBarButtonUM(
|
||||
iconRes = R.drawable.ic_back_24,
|
||||
onIconClicked = state.onBackClick,
|
||||
startButton = TopAppBarButtonUM.Back(
|
||||
onBackClicked = state.onBackClick,
|
||||
),
|
||||
title = stringResourceSafe(R.string.nft_traits_title),
|
||||
)
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ internal fun OnboardingStepper(
|
|||
) {
|
||||
TangemTopAppBar(
|
||||
startButton = TopAppBarButtonUM.Back(onBackClick),
|
||||
endButton = TopAppBarButtonUM(iconRes = R.drawable.ic_chat_24, onIconClicked = onSupportButtonClick)
|
||||
endButton = TopAppBarButtonUM.Icon(iconRes = R.drawable.ic_chat_24, onClicked = onSupportButtonClick)
|
||||
.takeIf { state.steps != state.currentStep },
|
||||
title = if (state.steps == state.currentStep) {
|
||||
resourceReference(R.string.common_done)
|
||||
|
|
|
|||
|
|
@ -24,14 +24,13 @@ internal sealed interface OnrampMainComponentUM {
|
|||
) : OnrampMainComponentUM {
|
||||
override val topBarConfig: OnrampMainTopBarUM = OnrampMainTopBarUM(
|
||||
title = combinedReference(resourceReference(R.string.common_buy), stringReference(" $currency")),
|
||||
startButtonUM = TopAppBarButtonUM(
|
||||
iconRes = R.drawable.ic_close_24,
|
||||
onIconClicked = onClose,
|
||||
startButtonUM = TopAppBarButtonUM.Back(
|
||||
onBackClicked = onClose,
|
||||
enabled = true,
|
||||
),
|
||||
endButtonUM = TopAppBarButtonUM(
|
||||
endButtonUM = TopAppBarButtonUM.Icon(
|
||||
iconRes = R.drawable.ic_more_vertical_24,
|
||||
onIconClicked = openSettings,
|
||||
onClicked = openSettings,
|
||||
enabled = false,
|
||||
),
|
||||
)
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import androidx.compose.ui.text.input.ImeAction
|
|||
import androidx.compose.ui.text.input.KeyboardType
|
||||
import com.tangem.common.ui.amountScreen.models.AmountFieldModel
|
||||
import com.tangem.common.ui.notifications.NotificationUM
|
||||
import com.tangem.core.ui.components.appbar.models.TopAppBarButtonUM
|
||||
import com.tangem.core.ui.extensions.TextReference
|
||||
import com.tangem.core.ui.extensions.resourceReference
|
||||
import com.tangem.domain.models.currency.CryptoCurrency
|
||||
|
|
@ -37,7 +38,10 @@ internal class OnrampStateFactory(
|
|||
fun getReadyState(currency: OnrampCurrency): OnrampMainComponentUM.Content {
|
||||
val state = currentStateProvider()
|
||||
|
||||
val endButton = state.topBarConfig.endButtonUM.copy(enabled = true)
|
||||
val endButton = when (val button = state.topBarConfig.endButtonUM) {
|
||||
is TopAppBarButtonUM.Icon -> button.copy(enabled = true)
|
||||
is TopAppBarButtonUM.Text -> button.copy(enabled = true)
|
||||
}
|
||||
return OnrampMainComponentUM.Content(
|
||||
topBarConfig = state.topBarConfig.copy(endButtonUM = endButton),
|
||||
buyButtonConfig = state.buyButtonConfig,
|
||||
|
|
@ -80,7 +84,10 @@ internal class OnrampStateFactory(
|
|||
|
||||
fun getErrorState(errorCode: String? = null, onRefresh: () -> Unit): OnrampMainComponentUM {
|
||||
val state = currentStateProvider()
|
||||
val endButton = state.topBarConfig.endButtonUM.copy(enabled = true)
|
||||
val endButton = when (val button = state.topBarConfig.endButtonUM) {
|
||||
is TopAppBarButtonUM.Icon -> button.copy(enabled = true)
|
||||
is TopAppBarButtonUM.Text -> button.copy(enabled = true)
|
||||
}
|
||||
|
||||
return when (state) {
|
||||
is OnrampMainComponentUM.Content -> state.copy(
|
||||
|
|
|
|||
|
|
@ -54,9 +54,8 @@ internal class OnrampRedirectModel @Inject constructor(
|
|||
resourceReference(R.string.common_buy),
|
||||
stringReference(" ${params.cryptoCurrency.name}"),
|
||||
),
|
||||
startButtonUM = TopAppBarButtonUM(
|
||||
iconRes = R.drawable.ic_close_24,
|
||||
onIconClicked = appRouter::pop,
|
||||
startButtonUM = TopAppBarButtonUM.Back(
|
||||
onBackClicked = appRouter::pop,
|
||||
enabled = true,
|
||||
),
|
||||
),
|
||||
|
|
|
|||
|
|
@ -61,9 +61,8 @@ private fun Content(state: OnrampSuccessComponentUM.Content, onBackClick: () ->
|
|||
.systemBarsPadding(),
|
||||
topBar = {
|
||||
TangemTopAppBar(
|
||||
startButton = TopAppBarButtonUM(
|
||||
iconRes = R.drawable.ic_close_24,
|
||||
onIconClicked = onBackClick,
|
||||
startButton = TopAppBarButtonUM.Back(
|
||||
onBackClicked = onBackClick,
|
||||
),
|
||||
)
|
||||
},
|
||||
|
|
|
|||
|
|
@ -66,9 +66,9 @@ internal fun QrScanningContent(
|
|||
TangemTopAppBar(
|
||||
modifier = Modifier.statusBarsPadding(),
|
||||
title = uiState.topBarConfig.title?.resolveReference(),
|
||||
startButton = TopAppBarButtonUM(
|
||||
startButton = TopAppBarButtonUM.Icon(
|
||||
iconRes = uiState.topBarConfig.startIcon,
|
||||
onIconClicked = uiState.onBackClick,
|
||||
onClicked = uiState.onBackClick,
|
||||
),
|
||||
textColor = TangemTheme.colors.text.constantWhite,
|
||||
iconTint = TangemColorPalette.White,
|
||||
|
|
@ -80,9 +80,9 @@ internal fun QrScanningContent(
|
|||
label = "Flash Change",
|
||||
) {
|
||||
TopAppBarButton(
|
||||
button = TopAppBarButtonUM(
|
||||
button = TopAppBarButtonUM.Icon(
|
||||
iconRes = if (it) R.drawable.ic_flash_on_24 else R.drawable.ic_flash_off_24,
|
||||
onIconClicked = {
|
||||
onClicked = {
|
||||
isFlash = !isFlash
|
||||
},
|
||||
),
|
||||
|
|
@ -91,9 +91,9 @@ internal fun QrScanningContent(
|
|||
}
|
||||
|
||||
TopAppBarButton(
|
||||
button = TopAppBarButtonUM(
|
||||
button = TopAppBarButtonUM.Icon(
|
||||
iconRes = R.drawable.ic_gallery_24,
|
||||
onIconClicked = uiState.onGalleryClick,
|
||||
onClicked = uiState.onGalleryClick,
|
||||
),
|
||||
tint = TangemColorPalette.White,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -46,9 +46,9 @@ internal fun ExcludedBlockchainsScreen(state: ExcludedBlockchainsScreenUM, modif
|
|||
TangemTopAppBar(
|
||||
title = resourceReference(R.string.excluded_blockchains),
|
||||
startButton = TopAppBarButtonUM.Back(onBackClicked = state.popBack),
|
||||
endButton = TopAppBarButtonUM(
|
||||
endButton = TopAppBarButtonUM.Icon(
|
||||
iconRes = R.drawable.ic_refresh_24,
|
||||
onIconClicked = state.onRecoverClick,
|
||||
onClicked = state.onRecoverClick,
|
||||
),
|
||||
)
|
||||
},
|
||||
|
|
|
|||
|
|
@ -134,9 +134,8 @@ internal class WcConnectionsModel @Inject constructor(
|
|||
private fun getInitialState(): WcConnectionsState {
|
||||
return WcConnectionsState(
|
||||
topAppBarConfig = WcConnectionsTopAppBarConfig(
|
||||
startButtonUM = TopAppBarButtonUM(
|
||||
iconRes = R.drawable.ic_back_24,
|
||||
onIconClicked = router::pop,
|
||||
startButtonUM = TopAppBarButtonUM.Back(
|
||||
onBackClicked = router::pop,
|
||||
enabled = true,
|
||||
),
|
||||
disconnectAllItem = TangemDropdownMenuItem(
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ import androidx.compose.ui.util.fastForEach
|
|||
import coil.compose.AsyncImage
|
||||
import com.tangem.core.ui.components.BottomFade
|
||||
import com.tangem.core.ui.components.PrimaryButton
|
||||
import com.tangem.core.ui.components.appbar.TopAppBarButton
|
||||
import com.tangem.core.ui.components.dropdownmenu.TangemDropdownItem
|
||||
import com.tangem.core.ui.components.dropdownmenu.TangemDropdownMenu
|
||||
import com.tangem.core.ui.components.snackbar.TangemSnackbarHost
|
||||
|
|
@ -251,13 +252,10 @@ private fun ConnectionsTopBar(
|
|||
actionIconContentColor = TangemTheme.colors.icon.primary1,
|
||||
),
|
||||
navigationIcon = {
|
||||
IconButton(onClick = config.startButtonUM.onIconClicked) {
|
||||
Icon(
|
||||
painter = painterResource(id = config.startButtonUM.iconRes),
|
||||
tint = TangemTheme.colors.icon.primary1,
|
||||
contentDescription = "Back",
|
||||
)
|
||||
}
|
||||
TopAppBarButton(
|
||||
button = config.startButtonUM,
|
||||
tint = TangemTheme.colors.icon.primary1,
|
||||
)
|
||||
},
|
||||
title = {
|
||||
Text(
|
||||
|
|
|
|||
|
|
@ -118,9 +118,8 @@ internal object WcConnectionsPreviewData {
|
|||
)
|
||||
val stateWithEmptyConnections = WcConnectionsState(
|
||||
topAppBarConfig = WcConnectionsTopAppBarConfig(
|
||||
startButtonUM = TopAppBarButtonUM(
|
||||
iconRes = R.drawable.ic_back_24,
|
||||
onIconClicked = {},
|
||||
startButtonUM = TopAppBarButtonUM.Back(
|
||||
onBackClicked = {},
|
||||
enabled = true,
|
||||
),
|
||||
disconnectAllItem = TangemDropdownMenuItem(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue