Updated on 2026-08-14
This commit is contained in:
commit
be499acaba
5 changed files with 38 additions and 30 deletions
|
|
@ -2,10 +2,8 @@ package com.tangem.tap.features.home
|
|||
|
||||
import androidx.activity.compose.BackHandler
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.DisposableEffect
|
||||
import androidx.compose.runtime.MutableState
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
|
|
@ -13,7 +11,7 @@ import com.arkivanov.essenty.lifecycle.subscribe
|
|||
import com.tangem.core.decompose.context.AppComponentContext
|
||||
import com.tangem.core.decompose.model.getOrCreateModel
|
||||
import com.tangem.core.ui.components.SystemBarsIconsDisposable
|
||||
import com.tangem.core.ui.res.LocalRootBackgroundColor
|
||||
import com.tangem.core.ui.utils.ChangeRootBackgroundColorEffect
|
||||
import com.tangem.core.ui.utils.findActivity
|
||||
import com.tangem.tap.common.redux.AppState
|
||||
import com.tangem.tap.features.home.api.HomeComponent
|
||||
|
|
@ -65,17 +63,7 @@ internal class DefaultHomeComponent @AssistedInject constructor(
|
|||
onShopButtonClick = model::onShopClick,
|
||||
onSearchTokensClick = model::onSearchClick,
|
||||
)
|
||||
|
||||
val rootBackgroundColor = LocalRootBackgroundColor.current
|
||||
val previousColor = remember { rootBackgroundColor.value }
|
||||
val storiesBackgroundColor = Color(color = 0xFF010101)
|
||||
|
||||
DisposableEffect(Unit) {
|
||||
rootBackgroundColor.value = storiesBackgroundColor
|
||||
onDispose {
|
||||
rootBackgroundColor.value = previousColor
|
||||
}
|
||||
}
|
||||
ChangeRootBackgroundColorEffect(Color(color = 0xFF010101))
|
||||
}
|
||||
|
||||
override fun newState(state: HomeState) {
|
||||
|
|
|
|||
|
|
@ -107,7 +107,7 @@ fun TangemTheme(
|
|||
CompositionLocalProvider(
|
||||
LocalTangemShimmer provides TangemShimmer,
|
||||
LocalMainBottomSheetColor provides remember { mutableStateOf(Color.Unspecified) },
|
||||
LocalRootBackgroundColor provides remember { mutableStateOf(rootBackgroundColor) },
|
||||
LocalRootBackgroundColor provides remember(rootBackgroundColor) { mutableStateOf(rootBackgroundColor) },
|
||||
LocalTextSelectionColors provides TangemTextSelectionColors,
|
||||
) {
|
||||
ProvideTextStyle(
|
||||
|
|
|
|||
|
|
@ -0,0 +1,31 @@
|
|||
package com.tangem.core.ui.utils
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.DisposableEffect
|
||||
import androidx.compose.runtime.LaunchedEffect
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import com.tangem.core.ui.res.LocalRootBackgroundColor
|
||||
|
||||
@Composable
|
||||
fun ChangeRootBackgroundColorEffect(color: Color) {
|
||||
var rootBackgroundColor by LocalRootBackgroundColor.current
|
||||
var previousColor by remember { mutableStateOf(rootBackgroundColor) }
|
||||
|
||||
DisposableEffect(color) {
|
||||
rootBackgroundColor = color
|
||||
onDispose {
|
||||
rootBackgroundColor = previousColor
|
||||
}
|
||||
}
|
||||
|
||||
LaunchedEffect(rootBackgroundColor) {
|
||||
if (rootBackgroundColor != color) {
|
||||
previousColor = rootBackgroundColor
|
||||
rootBackgroundColor = color
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -21,8 +21,8 @@ internal inline fun OnboardingEntry(
|
|||
Column(
|
||||
modifier = modifier
|
||||
.fillMaxSize()
|
||||
.statusBarsPadding()
|
||||
.background(TangemTheme.colors.background.primary),
|
||||
.background(TangemTheme.colors.background.primary)
|
||||
.statusBarsPadding(),
|
||||
) {
|
||||
stepperContent(Modifier.fillMaxWidth())
|
||||
|
||||
|
|
|
|||
|
|
@ -1,16 +1,14 @@
|
|||
package com.tangem.feature.stories.impl
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.DisposableEffect
|
||||
import androidx.compose.runtime.Stable
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
import com.tangem.common.ui.swapStoriesScreen.SwapStoriesScreen
|
||||
import com.tangem.core.decompose.context.AppComponentContext
|
||||
import com.tangem.core.decompose.model.getOrCreateModel
|
||||
import com.tangem.core.ui.res.LocalRootBackgroundColor
|
||||
import com.tangem.core.ui.res.TangemColorPalette
|
||||
import com.tangem.core.ui.utils.ChangeRootBackgroundColorEffect
|
||||
import com.tangem.feature.stories.api.StoriesComponent
|
||||
import com.tangem.feature.stories.impl.model.StoriesModel
|
||||
import dagger.assisted.Assisted
|
||||
|
|
@ -29,16 +27,7 @@ internal class DefaultStoriesComponent @AssistedInject constructor(
|
|||
override fun Content(modifier: Modifier) {
|
||||
val state = model.state.collectAsStateWithLifecycle()
|
||||
SwapStoriesScreen(state.value)
|
||||
|
||||
val rootBackgroundColor = LocalRootBackgroundColor.current
|
||||
val previousColor = remember { rootBackgroundColor.value }
|
||||
|
||||
DisposableEffect(Unit) {
|
||||
rootBackgroundColor.value = TangemColorPalette.Black
|
||||
onDispose {
|
||||
rootBackgroundColor.value = previousColor
|
||||
}
|
||||
}
|
||||
ChangeRootBackgroundColorEffect(TangemColorPalette.Black)
|
||||
}
|
||||
|
||||
@AssistedFactory
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue