From f646e739e4d90c4fbd73a159d199aef52b223d32 Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 15 Jan 2025 14:46:42 +0500 Subject: [PATCH] Updated on 2026-08-14 --- .../home/compose/views/StoriesButton.kt | 15 +++---- .../com/tangem/core/ui/components/Buttons.kt | 2 +- .../com/tangem/core/ui/components/Dialogs.kt | 6 +-- .../components/buttons/common/TangemButton.kt | 2 +- .../buttons/common/TangemButtonColors.kt | 24 ++++------ .../buttons/common/TangemButtonsDefaults.kt | 44 +++++++++---------- .../NoteMigrationNotification.kt | 10 ++--- .../NotificationWithBackground.kt | 8 ++-- .../notifications/OkxPromoNotification.kt | 8 ++-- .../disclaimer/impl/ui/DisclaimerScreen.kt | 8 ++-- 10 files changed, 59 insertions(+), 68 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/features/home/compose/views/StoriesButton.kt b/app/src/main/java/com/tangem/tap/features/home/compose/views/StoriesButton.kt index c2e879dc2d..66fc2bd6f1 100644 --- a/app/src/main/java/com/tangem/tap/features/home/compose/views/StoriesButton.kt +++ b/app/src/main/java/com/tangem/tap/features/home/compose/views/StoriesButton.kt @@ -1,10 +1,9 @@ package com.tangem.tap.features.home.compose.views -import androidx.compose.material.ButtonColors +import androidx.compose.material3.ButtonColors import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import com.tangem.core.ui.components.buttons.common.TangemButton -import com.tangem.core.ui.components.buttons.common.TangemButtonColors import com.tangem.core.ui.components.buttons.common.TangemButtonIconPosition import com.tangem.core.ui.res.TangemColorPalette import com.tangem.core.ui.res.TangemTheme @@ -37,16 +36,16 @@ internal fun StoriesButton( ) } -private val LighterButtonColors: ButtonColors = TangemButtonColors( - backgroundColor = TangemColorPalette.Light4, +private val LighterButtonColors: ButtonColors = ButtonColors( + containerColor = TangemColorPalette.Light4, contentColor = TangemColorPalette.Dark6, - disabledBackgroundColor = TangemColorPalette.Dark5, + disabledContainerColor = TangemColorPalette.Dark5, disabledContentColor = TangemColorPalette.Dark6, ) -private val DarkerButtonColors: ButtonColors = TangemButtonColors( - backgroundColor = TangemColorPalette.Dark4, +private val DarkerButtonColors: ButtonColors = ButtonColors( + containerColor = TangemColorPalette.Dark4, contentColor = TangemColorPalette.White, - disabledBackgroundColor = TangemColorPalette.Dark4, + disabledContainerColor = TangemColorPalette.Dark4, disabledContentColor = TangemColorPalette.White, ) \ No newline at end of file diff --git a/core/ui/src/main/java/com/tangem/core/ui/components/Buttons.kt b/core/ui/src/main/java/com/tangem/core/ui/components/Buttons.kt index e43a390155..be5351a233 100644 --- a/core/ui/src/main/java/com/tangem/core/ui/components/Buttons.kt +++ b/core/ui/src/main/java/com/tangem/core/ui/components/Buttons.kt @@ -6,7 +6,7 @@ import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.material.ButtonColors +import androidx.compose.material3.ButtonColors import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Shape diff --git a/core/ui/src/main/java/com/tangem/core/ui/components/Dialogs.kt b/core/ui/src/main/java/com/tangem/core/ui/components/Dialogs.kt index ac57417425..0eab14b8e9 100644 --- a/core/ui/src/main/java/com/tangem/core/ui/components/Dialogs.kt +++ b/core/ui/src/main/java/com/tangem/core/ui/components/Dialogs.kt @@ -8,9 +8,9 @@ import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.foundation.layout.* import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.itemsIndexed -import androidx.compose.material.RadioButton -import androidx.compose.material.RadioButtonDefaults -import androidx.compose.material.Text +import androidx.compose.material3.RadioButton +import androidx.compose.material3.RadioButtonDefaults +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.Immutable import androidx.compose.runtime.remember diff --git a/core/ui/src/main/java/com/tangem/core/ui/components/buttons/common/TangemButton.kt b/core/ui/src/main/java/com/tangem/core/ui/components/buttons/common/TangemButton.kt index 0dad99ad18..efacaad36c 100644 --- a/core/ui/src/main/java/com/tangem/core/ui/components/buttons/common/TangemButton.kt +++ b/core/ui/src/main/java/com/tangem/core/ui/components/buttons/common/TangemButton.kt @@ -6,7 +6,7 @@ import androidx.compose.animation.fadeIn import androidx.compose.animation.fadeOut import androidx.compose.animation.togetherWith import androidx.compose.foundation.layout.* -import androidx.compose.material.* +import androidx.compose.material3.* import androidx.compose.runtime.Composable import androidx.compose.runtime.ReadOnlyComposable import androidx.compose.runtime.remember diff --git a/core/ui/src/main/java/com/tangem/core/ui/components/buttons/common/TangemButtonColors.kt b/core/ui/src/main/java/com/tangem/core/ui/components/buttons/common/TangemButtonColors.kt index f4235c7619..be1de590a2 100644 --- a/core/ui/src/main/java/com/tangem/core/ui/components/buttons/common/TangemButtonColors.kt +++ b/core/ui/src/main/java/com/tangem/core/ui/components/buttons/common/TangemButtonColors.kt @@ -1,25 +1,17 @@ package com.tangem.core.ui.components.buttons.common -import androidx.compose.material.ButtonColors +import androidx.compose.material3.ButtonColors import androidx.compose.runtime.Composable import androidx.compose.runtime.State import androidx.compose.runtime.rememberUpdatedState import androidx.compose.ui.graphics.Color -data class TangemButtonColors( - private val backgroundColor: Color, - private val contentColor: Color, - private val disabledBackgroundColor: Color, - private val disabledContentColor: Color, -) : ButtonColors { +@Composable +fun ButtonColors.containerColor(enabled: Boolean): State { + return rememberUpdatedState(newValue = if (enabled) containerColor else disabledContainerColor) +} - @Composable - override fun backgroundColor(enabled: Boolean): State { - return rememberUpdatedState(newValue = if (enabled) backgroundColor else disabledBackgroundColor) - } - - @Composable - override fun contentColor(enabled: Boolean): State { - return rememberUpdatedState(newValue = if (enabled) contentColor else disabledContentColor) - } +@Composable +fun ButtonColors.contentColor(enabled: Boolean): State { + return rememberUpdatedState(newValue = if (enabled) contentColor else disabledContentColor) } \ No newline at end of file diff --git a/core/ui/src/main/java/com/tangem/core/ui/components/buttons/common/TangemButtonsDefaults.kt b/core/ui/src/main/java/com/tangem/core/ui/components/buttons/common/TangemButtonsDefaults.kt index 5a555dfcf7..615757fd50 100644 --- a/core/ui/src/main/java/com/tangem/core/ui/components/buttons/common/TangemButtonsDefaults.kt +++ b/core/ui/src/main/java/com/tangem/core/ui/components/buttons/common/TangemButtonsDefaults.kt @@ -1,8 +1,8 @@ package com.tangem.core.ui.components.buttons.common -import androidx.compose.material.ButtonColors -import androidx.compose.material.ButtonDefaults -import androidx.compose.material.ButtonElevation +import androidx.compose.material3.ButtonColors +import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.ButtonElevation import androidx.compose.runtime.Composable import androidx.compose.runtime.ReadOnlyComposable import androidx.compose.ui.graphics.Color @@ -12,7 +12,7 @@ object TangemButtonsDefaults { val elevation: ButtonElevation @Composable - get() = ButtonDefaults.elevation( + get() = ButtonDefaults.buttonElevation( defaultElevation = TangemTheme.dimens.elevation0, pressedElevation = TangemTheme.dimens.elevation0, ) @@ -20,60 +20,60 @@ object TangemButtonsDefaults { val primaryButtonColors: ButtonColors @Composable @ReadOnlyComposable - get() = TangemButtonColors( - backgroundColor = TangemTheme.colors.button.primary, + get() = ButtonColors( + containerColor = TangemTheme.colors.button.primary, contentColor = TangemTheme.colors.text.primary2, - disabledBackgroundColor = TangemTheme.colors.button.disabled, + disabledContainerColor = TangemTheme.colors.button.disabled, disabledContentColor = TangemTheme.colors.text.disabled, ) val secondaryButtonColors: ButtonColors @Composable @ReadOnlyComposable - get() = TangemButtonColors( - backgroundColor = TangemTheme.colors.button.secondary, + get() = ButtonColors( + containerColor = TangemTheme.colors.button.secondary, contentColor = TangemTheme.colors.text.primary1, - disabledBackgroundColor = TangemTheme.colors.button.disabled, + disabledContainerColor = TangemTheme.colors.button.disabled, disabledContentColor = TangemTheme.colors.text.disabled, ) val defaultTextButtonColors: ButtonColors @Composable @ReadOnlyComposable - get() = TangemButtonColors( - backgroundColor = Color.Transparent, + get() = ButtonColors( + containerColor = Color.Transparent, contentColor = TangemTheme.colors.text.secondary, - disabledBackgroundColor = Color.Transparent, + disabledContainerColor = Color.Transparent, disabledContentColor = TangemTheme.colors.text.disabled, ) val warningTextButtonColors: ButtonColors @Composable @ReadOnlyComposable - get() = TangemButtonColors( - backgroundColor = Color.Transparent, + get() = ButtonColors( + containerColor = Color.Transparent, contentColor = TangemTheme.colors.text.warning, - disabledBackgroundColor = Color.Transparent, + disabledContainerColor = Color.Transparent, disabledContentColor = TangemTheme.colors.text.disabled, ) val selectorButtonColors: ButtonColors @Composable @ReadOnlyComposable - get() = TangemButtonColors( - backgroundColor = Color.Transparent, + get() = ButtonColors( + containerColor = Color.Transparent, contentColor = TangemTheme.colors.text.tertiary, - disabledBackgroundColor = Color.Transparent, + disabledContainerColor = Color.Transparent, disabledContentColor = TangemTheme.colors.text.disabled, ) val positiveButtonColors: ButtonColors @Composable @ReadOnlyComposable - get() = TangemButtonColors( - backgroundColor = Color.Transparent, + get() = ButtonColors( + containerColor = Color.Transparent, contentColor = TangemTheme.colors.text.accent, - disabledBackgroundColor = Color.Transparent, + disabledContainerColor = Color.Transparent, disabledContentColor = TangemTheme.colors.text.disabled, ) } \ No newline at end of file diff --git a/core/ui/src/main/java/com/tangem/core/ui/components/notifications/NoteMigrationNotification.kt b/core/ui/src/main/java/com/tangem/core/ui/components/notifications/NoteMigrationNotification.kt index 6b5f396f85..8bb1793279 100644 --- a/core/ui/src/main/java/com/tangem/core/ui/components/notifications/NoteMigrationNotification.kt +++ b/core/ui/src/main/java/com/tangem/core/ui/components/notifications/NoteMigrationNotification.kt @@ -3,7 +3,8 @@ package com.tangem.core.ui.components.notifications import androidx.compose.foundation.Image import androidx.compose.foundation.background import androidx.compose.foundation.layout.* -import androidx.compose.material.Text +import androidx.compose.material3.ButtonColors +import androidx.compose.material3.Text import androidx.compose.runtime.* import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier @@ -15,7 +16,6 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import com.tangem.core.ui.R import com.tangem.core.ui.components.buttons.common.TangemButton -import com.tangem.core.ui.components.buttons.common.TangemButtonColors import com.tangem.core.ui.components.buttons.common.TangemButtonIconPosition import com.tangem.core.ui.extensions.resolveReference import com.tangem.core.ui.extensions.stringReference @@ -71,10 +71,10 @@ fun NoteMigrationNotification(config: NotificationConfig, modifier: Modifier = M text = button.text.resolveReference(), icon = TangemButtonIconPosition.None, onClick = button.onClick, - colors = TangemButtonColors( - backgroundColor = Light2, + colors = ButtonColors( + containerColor = Light2, contentColor = Dark6, - disabledBackgroundColor = TangemTheme.colors.button.disabled, + disabledContainerColor = TangemTheme.colors.button.disabled, disabledContentColor = TangemTheme.colors.text.disabled, ), enabled = true, diff --git a/core/ui/src/main/java/com/tangem/core/ui/components/notifications/NotificationWithBackground.kt b/core/ui/src/main/java/com/tangem/core/ui/components/notifications/NotificationWithBackground.kt index d76569543f..40e33e05ac 100644 --- a/core/ui/src/main/java/com/tangem/core/ui/components/notifications/NotificationWithBackground.kt +++ b/core/ui/src/main/java/com/tangem/core/ui/components/notifications/NotificationWithBackground.kt @@ -7,6 +7,7 @@ import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.foundation.layout.defaultMinSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.size +import androidx.compose.material3.ButtonColors import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.ripple @@ -24,7 +25,6 @@ import androidx.constraintlayout.compose.Dimension import androidx.constraintlayout.compose.Visibility import com.tangem.core.ui.R import com.tangem.core.ui.components.buttons.common.TangemButton -import com.tangem.core.ui.components.buttons.common.TangemButtonColors import com.tangem.core.ui.components.buttons.common.TangemButtonIconPosition import com.tangem.core.ui.extensions.resolveReference import com.tangem.core.ui.extensions.resourceReference @@ -146,10 +146,10 @@ fun NotificationWithBackground(config: NotificationConfig, modifier: Modifier = text = button?.text?.resolveReference().orEmpty(), icon = TangemButtonIconPosition.Start(button?.iconResId ?: R.drawable.ic_exchange_vertical_24), onClick = button?.onClick ?: {}, - colors = TangemButtonColors( - backgroundColor = if (isDarkMode) Light4 else TangemTheme.colors.button.secondary, + colors = ButtonColors( + containerColor = if (isDarkMode) Light4 else TangemTheme.colors.button.secondary, contentColor = Dark6, - disabledBackgroundColor = TangemTheme.colors.button.disabled, + disabledContainerColor = TangemTheme.colors.button.disabled, disabledContentColor = TangemTheme.colors.text.disabled, ), textStyle = TangemTheme.typography.subtitle1, diff --git a/core/ui/src/main/java/com/tangem/core/ui/components/notifications/OkxPromoNotification.kt b/core/ui/src/main/java/com/tangem/core/ui/components/notifications/OkxPromoNotification.kt index 94f39ed5dd..beadc7ce9e 100644 --- a/core/ui/src/main/java/com/tangem/core/ui/components/notifications/OkxPromoNotification.kt +++ b/core/ui/src/main/java/com/tangem/core/ui/components/notifications/OkxPromoNotification.kt @@ -5,6 +5,7 @@ import androidx.compose.foundation.background import androidx.compose.foundation.clickable import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.foundation.layout.* +import androidx.compose.material3.ButtonColors import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.ripple @@ -22,7 +23,6 @@ import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.tooling.preview.PreviewParameterProvider import com.tangem.core.ui.R import com.tangem.core.ui.components.buttons.common.TangemButton -import com.tangem.core.ui.components.buttons.common.TangemButtonColors import com.tangem.core.ui.components.buttons.common.TangemButtonIconPosition import com.tangem.core.ui.extensions.resolveReference import com.tangem.core.ui.extensions.resourceReference @@ -120,10 +120,10 @@ private fun Button(config: NotificationConfig) { text = button.text.resolveReference(), icon = TangemButtonIconPosition.Start(button.iconResId ?: R.drawable.ic_exchange_vertical_24), onClick = button.onClick, - colors = TangemButtonColors( - backgroundColor = if (isDarkMode) Light4 else TangemTheme.colors.button.secondary, + colors = ButtonColors( + containerColor = if (isDarkMode) Light4 else TangemTheme.colors.button.secondary, contentColor = Dark6, - disabledBackgroundColor = TangemTheme.colors.button.disabled, + disabledContainerColor = TangemTheme.colors.button.disabled, disabledContentColor = TangemTheme.colors.text.disabled, ), textStyle = TangemTheme.typography.subtitle1, diff --git a/features/disclaimer/impl/src/main/java/com/tangem/features/disclaimer/impl/ui/DisclaimerScreen.kt b/features/disclaimer/impl/src/main/java/com/tangem/features/disclaimer/impl/ui/DisclaimerScreen.kt index 55dbe5ca34..a1b849f65f 100644 --- a/features/disclaimer/impl/src/main/java/com/tangem/features/disclaimer/impl/ui/DisclaimerScreen.kt +++ b/features/disclaimer/impl/src/main/java/com/tangem/features/disclaimer/impl/ui/DisclaimerScreen.kt @@ -7,6 +7,7 @@ import androidx.compose.animation.fadeIn import androidx.compose.animation.fadeOut import androidx.compose.foundation.background import androidx.compose.foundation.layout.* +import androidx.compose.material3.ButtonColors import androidx.compose.material3.CircularProgressIndicator import androidx.compose.runtime.Composable import androidx.compose.runtime.derivedStateOf @@ -28,7 +29,6 @@ import com.tangem.core.ui.components.NavigationBar3ButtonsScrim import com.tangem.core.ui.components.PrimaryButton import com.tangem.core.ui.components.appbar.TangemTopAppBar import com.tangem.core.ui.components.appbar.models.TopAppBarButtonUM -import com.tangem.core.ui.components.buttons.common.TangemButtonColors import com.tangem.core.ui.extensions.resourceReference import com.tangem.core.ui.extensions.stringResourceSafe import com.tangem.core.ui.res.TangemColorPalette @@ -155,10 +155,10 @@ private fun BoxScope.DisclaimerButton(onAccept: (Boolean) -> Unit) { PrimaryButton( text = stringResourceSafe(id = R.string.common_accept), onClick = { onAccept(!isPermissionGranted) }, - colors = TangemButtonColors( - backgroundColor = TangemColorPalette.Light4, + colors = ButtonColors( + containerColor = TangemColorPalette.Light4, contentColor = TangemColorPalette.Dark6, - disabledBackgroundColor = TangemColorPalette.Light4, + disabledContainerColor = TangemColorPalette.Light4, disabledContentColor = TangemColorPalette.Dark6, ), modifier = Modifier