Updated on 2026-08-14

This commit is contained in:
Tangem 2026-07-22 15:08:50 +03:00
parent 55c1c597b4
commit 1853aed903
4 changed files with 78 additions and 13 deletions

View file

@ -384,6 +384,7 @@ internal data class TangemMessageBannerStory(
val hasSlotStart: Boolean,
val hasSlotEnd: Boolean,
val hasExtraContent: Boolean,
val isClickable: Boolean,
val background: Background,
val onVariantChange: (TangemMessageBanner.Variant) -> Unit,
val onContentAlignChange: (TangemMessageBanner.ContentAlign) -> Unit,
@ -395,6 +396,7 @@ internal data class TangemMessageBannerStory(
val onSlotStartToggle: () -> Unit,
val onSlotEndToggle: () -> Unit,
val onExtraContentToggle: () -> Unit,
val onClickableToggle: () -> Unit,
val onBackgroundChange: (Background) -> Unit,
) : DsStoryBookPage {

View file

@ -18,6 +18,7 @@ internal fun StateUpdater<TangemMessageBannerStory>.build(): TangemMessageBanner
hasSlotStart = true,
hasSlotEnd = true,
hasExtraContent = true,
isClickable = false,
background = Background.BgSecondary,
onVariantChange = { variant -> updateStory { it.copy(variant = variant) } },
onContentAlignChange = { align -> updateStory { it.copy(contentAlign = align) } },
@ -29,6 +30,7 @@ internal fun StateUpdater<TangemMessageBannerStory>.build(): TangemMessageBanner
onSlotStartToggle = { updateStory { it.copy(hasSlotStart = !it.hasSlotStart) } },
onSlotEndToggle = { updateStory { it.copy(hasSlotEnd = !it.hasSlotEnd) } },
onExtraContentToggle = { updateStory { it.copy(hasExtraContent = !it.hasExtraContent) } },
onClickableToggle = { updateStory { it.copy(isClickable = !it.isClickable) } },
onBackgroundChange = { background -> updateStory { it.copy(background = background) } },
)
}

View file

@ -95,6 +95,11 @@ private fun PreviewBanner(state: TangemMessageBannerStory) {
variant = state.variant,
contentAlign = state.contentAlign,
showGlowRing = state.hasGlowRing,
onClick = if (state.isClickable) {
{}
} else {
null
},
title = stringReference("Would you predict?"),
description = if (state.hasDescription) {
stringReference("France will win FIFA 2026")
@ -233,6 +238,11 @@ private fun Toggles(state: TangemMessageBannerStory) {
ToggleRow(label = "slotStart", checked = state.hasSlotStart, onToggle = state.onSlotStartToggle)
ToggleRow(label = "slotEnd", checked = state.hasSlotEnd, onToggle = state.onSlotEndToggle)
ToggleRow(label = "extraContent", checked = state.hasExtraContent, onToggle = state.onExtraContentToggle)
ToggleRow(
label = "clickable (no buttons only)",
checked = state.isClickable,
onToggle = state.onClickableToggle,
)
}
}
}