From b07c9ae620bb9004dd4badf7dc84cc50f3fbf058 Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 1 Dec 2022 14:40:31 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../ui/appsettings/AppSettingsFragment.kt | 2 +- .../ui/cardsettings/CardSettingsFragment.kt | 4 +-- .../ui/cardsettings/CardSettingsScreen.kt | 21 +++++++++++---- .../ui/common/DetailsComposeElements.kt | 27 ++++++++++++------- .../details/ui/common/TangemSwitch.kt | 10 ++++--- .../details/ui/details/DetailsFragment.kt | 4 +-- .../details/ui/resetcard/ResetCardFragment.kt | 4 +-- .../ui/securitymode/SecurityModeFragment.kt | 4 +-- .../ui/walletconnect/WalletConnectFragment.kt | 4 +-- 9 files changed, 50 insertions(+), 30 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/features/details/ui/appsettings/AppSettingsFragment.kt b/app/src/main/java/com/tangem/tap/features/details/ui/appsettings/AppSettingsFragment.kt index 433db0dd49..9e311ef003 100644 --- a/app/src/main/java/com/tangem/tap/features/details/ui/appsettings/AppSettingsFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/details/ui/appsettings/AppSettingsFragment.kt @@ -36,7 +36,7 @@ class AppSettingsFragment : Fragment(), StoreSubscriber { return ComposeView(requireContext()).apply { setContent { isTransitionGroup = true - AppCompatTheme { + TangemTheme { AppSettingsScreen( state = screenState.value, onBackPressed = { diff --git a/app/src/main/java/com/tangem/tap/features/details/ui/cardsettings/CardSettingsFragment.kt b/app/src/main/java/com/tangem/tap/features/details/ui/cardsettings/CardSettingsFragment.kt index a679020e84..a42f4a1d38 100644 --- a/app/src/main/java/com/tangem/tap/features/details/ui/cardsettings/CardSettingsFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/details/ui/cardsettings/CardSettingsFragment.kt @@ -9,7 +9,7 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.ui.platform.ComposeView import androidx.fragment.app.Fragment import androidx.transition.TransitionInflater -import com.google.accompanist.appcompattheme.AppCompatTheme +import com.tangem.core.ui.res.TangemTheme import com.tangem.tap.common.redux.navigation.NavigationAction import com.tangem.tap.features.details.redux.DetailsAction import com.tangem.tap.features.details.redux.DetailsState @@ -39,7 +39,7 @@ class CardSettingsFragment : Fragment(), StoreSubscriber { return ComposeView(requireContext()).apply { setContent { isTransitionGroup = true - AppCompatTheme { + TangemTheme { CardSettingsScreen( state = screenState.value, onBackPressed = { diff --git a/app/src/main/java/com/tangem/tap/features/details/ui/cardsettings/CardSettingsScreen.kt b/app/src/main/java/com/tangem/tap/features/details/ui/cardsettings/CardSettingsScreen.kt index 2de4f118fb..31941ed1ee 100644 --- a/app/src/main/java/com/tangem/tap/features/details/ui/cardsettings/CardSettingsScreen.kt +++ b/app/src/main/java/com/tangem/tap/features/details/ui/cardsettings/CardSettingsScreen.kt @@ -15,6 +15,8 @@ import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll import androidx.compose.material.Text import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.rememberUpdatedState import androidx.compose.ui.Modifier import androidx.compose.ui.draw.rotate import androidx.compose.ui.layout.ContentScale @@ -23,6 +25,7 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp +import com.tangem.core.ui.res.TangemTheme import com.tangem.tap.common.compose.TangemTypography import com.tangem.tap.features.details.ui.common.DetailsMainButton import com.tangem.tap.features.details.ui.common.SettingsScreensScaffold @@ -34,14 +37,22 @@ fun CardSettingsScreen( onBackPressed: () -> Unit, modifier: Modifier = Modifier, ) { + val needReadCard = state.cardDetails == null + val backgroundColor by rememberUpdatedState( + newValue = if (needReadCard) TangemTheme.colors.background.primary + else TangemTheme.colors.background.secondary, + ) + SettingsScreensScaffold( - content = - if (state.cardDetails == null) { - { CardSettingsReadCard(state.onScanCardClick, modifier = modifier) } - } else { - { CardSettings(state = state, modifier = modifier) } + content = { + if (needReadCard) { + CardSettingsReadCard(state.onScanCardClick, modifier = modifier) + } else { + CardSettings(state = state, modifier = modifier) + } }, titleRes = R.string.card_settings_title, + backgroundColor = backgroundColor, onBackClick = onBackPressed, ) } diff --git a/app/src/main/java/com/tangem/tap/features/details/ui/common/DetailsComposeElements.kt b/app/src/main/java/com/tangem/tap/features/details/ui/common/DetailsComposeElements.kt index d8e6bf1b11..dd6f290ebe 100644 --- a/app/src/main/java/com/tangem/tap/features/details/ui/common/DetailsComposeElements.kt +++ b/app/src/main/java/com/tangem/tap/features/details/ui/common/DetailsComposeElements.kt @@ -25,18 +25,19 @@ import androidx.compose.ui.res.colorResource import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp +import com.tangem.core.ui.res.TangemTheme import com.tangem.tap.common.compose.TangemTypography import com.tangem.wallet.R @Composable fun SettingsScreensScaffold( + modifier: Modifier = Modifier, content: @Composable () -> Unit, background: @Composable (() -> Unit)? = null, fab: @Composable (() -> Unit)? = null, - backgroundColor: Color = colorResource(id = R.color.background_primary), + backgroundColor: Color = TangemTheme.colors.background.secondary, titleRes: Int? = null, onBackClick: () -> Unit, - modifier: Modifier = Modifier, ) { BackHandler(true, onBackClick) @@ -58,9 +59,13 @@ fun SettingsScreensScaffold( Column(modifier = modifier.fillMaxWidth()) { Text( text = stringResource(id = titleRes), - modifier = modifier.padding(start = 20.dp, end = 20.dp, bottom = 52.dp), - style = TangemTypography.headline1, - color = colorResource(id = R.color.text_primary_1), + modifier = modifier.padding( + start = TangemTheme.dimens.spacing20, + end = TangemTheme.dimens.spacing20, + bottom = TangemTheme.dimens.spacing54, + ), + style = TangemTheme.typography.h1, + color = TangemTheme.colors.text.primary1, ) content() } @@ -86,18 +91,20 @@ fun ScreenTitle( @Composable fun EmptyTopBarWithNavigation( - onBackClick: () -> Unit, - backgroundColor: Color = colorResource(id = R.color.background_primary), modifier: Modifier = Modifier, + onBackClick: () -> Unit, + backgroundColor: Color = TangemTheme.colors.background.primary, ) { TopAppBar( + modifier = modifier, title = { }, navigationIcon = { IconButton(onClick = onBackClick) { Icon( - painterResource(id = R.drawable.ic_back), "", - tint = colorResource(id = R.color.icon_primary_1), + painter = painterResource(id = R.drawable.ic_back), + contentDescription = null, + tint = TangemTheme.colors.icon.primary1, ) } }, @@ -108,10 +115,10 @@ fun EmptyTopBarWithNavigation( @Composable fun DetailsMainButton( + modifier: Modifier = Modifier, title: String, enabled: Boolean = true, onClick: (() -> Unit), - modifier: Modifier = Modifier, ) { Button( onClick = onClick, diff --git a/app/src/main/java/com/tangem/tap/features/details/ui/common/TangemSwitch.kt b/app/src/main/java/com/tangem/tap/features/details/ui/common/TangemSwitch.kt index bf5268bf6f..d511348af9 100644 --- a/app/src/main/java/com/tangem/tap/features/details/ui/common/TangemSwitch.kt +++ b/app/src/main/java/com/tangem/tap/features/details/ui/common/TangemSwitch.kt @@ -33,10 +33,11 @@ import com.tangem.wallet.R @Composable fun TangemSwitch( modifier: Modifier = Modifier, - enabledColor: Color = colorResource(id = R.color.control_checked), - disabledColor: Color = colorResource(id = R.color.icon_informative), + checkedColor: Color = colorResource(id = R.color.control_checked), + uncheckedColor: Color = colorResource(id = R.color.icon_informative), size: Dp = 48.dp, checked: Boolean = false, + enabled: Boolean = true, onCheckedChange: (Boolean) -> Unit, ) { val transition = updateTransition(checked, label = "SwitchState") @@ -45,8 +46,8 @@ fun TangemSwitch( tween(durationMillis = 200, easing = FastOutLinearInEasing) }, label = "", - ) { enabled -> - if (enabled) enabledColor else disabledColor + ) { isChecked -> + if (isChecked) checkedColor else uncheckedColor } val interactionSource = remember { MutableInteractionSource() } @@ -55,6 +56,7 @@ fun TangemSwitch( .clickable( interactionSource = interactionSource, indication = null, + enabled = enabled, ) { onCheckedChange(!checked) } diff --git a/app/src/main/java/com/tangem/tap/features/details/ui/details/DetailsFragment.kt b/app/src/main/java/com/tangem/tap/features/details/ui/details/DetailsFragment.kt index 2c206736e5..4cecec1a8f 100644 --- a/app/src/main/java/com/tangem/tap/features/details/ui/details/DetailsFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/details/ui/details/DetailsFragment.kt @@ -9,7 +9,7 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.ui.platform.ComposeView import androidx.fragment.app.Fragment import androidx.transition.TransitionInflater -import com.google.accompanist.appcompattheme.AppCompatTheme +import com.tangem.core.ui.res.TangemTheme import com.tangem.tap.common.analytics.Analytics import com.tangem.tap.common.analytics.events.Settings import com.tangem.tap.common.redux.navigation.NavigationAction @@ -40,7 +40,7 @@ class DetailsFragment : Fragment(), StoreSubscriber { return ComposeView(requireContext()).apply { setContent { isTransitionGroup = true - AppCompatTheme { + TangemTheme { DetailsScreen( state = detailsScreenState.value, onBackPressed = { store.dispatch(NavigationAction.PopBackTo()) }, diff --git a/app/src/main/java/com/tangem/tap/features/details/ui/resetcard/ResetCardFragment.kt b/app/src/main/java/com/tangem/tap/features/details/ui/resetcard/ResetCardFragment.kt index fa63874859..10270c8ecb 100644 --- a/app/src/main/java/com/tangem/tap/features/details/ui/resetcard/ResetCardFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/details/ui/resetcard/ResetCardFragment.kt @@ -9,7 +9,7 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.ui.platform.ComposeView import androidx.fragment.app.Fragment import androidx.transition.TransitionInflater -import com.google.accompanist.appcompattheme.AppCompatTheme +import com.tangem.core.ui.res.TangemTheme import com.tangem.tap.common.redux.navigation.NavigationAction import com.tangem.tap.features.details.redux.DetailsState import com.tangem.tap.store @@ -38,7 +38,7 @@ class ResetCardFragment : Fragment(), StoreSubscriber { return ComposeView(requireContext()).apply { setContent { isTransitionGroup = true - AppCompatTheme { + TangemTheme { ResetCardScreen( state = screenState.value, onBackPressed = { store.dispatch(NavigationAction.PopBackTo()) }, diff --git a/app/src/main/java/com/tangem/tap/features/details/ui/securitymode/SecurityModeFragment.kt b/app/src/main/java/com/tangem/tap/features/details/ui/securitymode/SecurityModeFragment.kt index 96d55a808a..567c74c007 100644 --- a/app/src/main/java/com/tangem/tap/features/details/ui/securitymode/SecurityModeFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/details/ui/securitymode/SecurityModeFragment.kt @@ -9,7 +9,7 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.ui.platform.ComposeView import androidx.fragment.app.Fragment import androidx.transition.TransitionInflater -import com.google.accompanist.appcompattheme.AppCompatTheme +import com.tangem.core.ui.res.TangemTheme import com.tangem.tap.common.redux.navigation.NavigationAction import com.tangem.tap.features.details.redux.DetailsState import com.tangem.tap.store @@ -38,7 +38,7 @@ class SecurityModeFragment : Fragment(), StoreSubscriber { return ComposeView(requireContext()).apply { setContent { isTransitionGroup = true - AppCompatTheme { + TangemTheme { SecurityModeScreen( state = screenState.value, onBackPressed = { store.dispatch(NavigationAction.PopBackTo()) }, diff --git a/app/src/main/java/com/tangem/tap/features/details/ui/walletconnect/WalletConnectFragment.kt b/app/src/main/java/com/tangem/tap/features/details/ui/walletconnect/WalletConnectFragment.kt index 8d3de292ae..ec42337992 100644 --- a/app/src/main/java/com/tangem/tap/features/details/ui/walletconnect/WalletConnectFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/details/ui/walletconnect/WalletConnectFragment.kt @@ -9,7 +9,7 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.ui.platform.ComposeView import androidx.fragment.app.Fragment import androidx.transition.TransitionInflater -import com.google.accompanist.appcompattheme.AppCompatTheme +import com.tangem.core.ui.res.TangemTheme import com.tangem.tap.common.redux.navigation.NavigationAction import com.tangem.tap.features.details.redux.walletconnect.WalletConnectAction import com.tangem.tap.features.details.redux.walletconnect.WalletConnectState @@ -36,7 +36,7 @@ class WalletConnectFragment : Fragment(), StoreSubscriber { return ComposeView(requireContext()).apply { setContent { isTransitionGroup = true - AppCompatTheme { + TangemTheme { WalletConnectScreen( state = screenState.value, onBackPressed = {