Skip to content

Commit 84b5822

Browse files
committed
Migrated samples from Children to ChildStack
1 parent 5252ed1 commit 84b5822

5 files changed

Lines changed: 46 additions & 34 deletions

File tree

sample/shared/compose/src/commonMain/kotlin/com/arkivanov/sample/shared/counters/CountersContent.kt

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,13 @@ import androidx.compose.foundation.layout.statusBars
1010
import androidx.compose.material.MaterialTheme
1111
import androidx.compose.runtime.Composable
1212
import androidx.compose.ui.Modifier
13-
import com.arkivanov.decompose.extensions.compose.stack.Children
14-
import com.arkivanov.decompose.extensions.compose.stack.animation.fade
15-
import com.arkivanov.decompose.extensions.compose.stack.animation.plus
16-
import com.arkivanov.decompose.extensions.compose.stack.animation.predictiveback.predictiveBackAnimation
17-
import com.arkivanov.decompose.extensions.compose.stack.animation.scale
18-
import com.arkivanov.decompose.extensions.compose.stack.animation.stackAnimation
13+
import com.arkivanov.decompose.extensions.compose.experimental.stack.ChildStack
14+
import com.arkivanov.decompose.extensions.compose.experimental.stack.animation.PredictiveBackParams
15+
import com.arkivanov.decompose.extensions.compose.experimental.stack.animation.fade
16+
import com.arkivanov.decompose.extensions.compose.experimental.stack.animation.plus
17+
import com.arkivanov.decompose.extensions.compose.experimental.stack.animation.scale
18+
import com.arkivanov.decompose.extensions.compose.experimental.stack.animation.stackAnimation
19+
import com.arkivanov.decompose.extensions.compose.stack.animation.predictiveback.materialPredictiveBackAnimatable
1920
import com.arkivanov.sample.shared.counters.counter.CounterContent
2021
import com.arkivanov.sample.shared.utils.TopAppBar
2122
import com.arkivanov.sample.shared.utils.WebDocumentTitle
@@ -27,13 +28,18 @@ internal fun CountersContent(component: CountersComponent, modifier: Modifier =
2728
Column(modifier = modifier) {
2829
TopAppBar(title = "Counters")
2930

30-
Children(
31+
ChildStack(
3132
stack = component.stack,
3233
modifier = Modifier.fillMaxSize().consumeWindowInsets(WindowInsets.statusBars),
33-
animation = predictiveBackAnimation(
34-
backHandler = component.backHandler,
35-
fallbackAnimation = stackAnimation(fade() + scale()),
36-
onBack = component::onBackClicked,
34+
animation = stackAnimation(
35+
animator = fade() + scale(),
36+
predictiveBackParams = {
37+
PredictiveBackParams(
38+
backHandler = component.backHandler,
39+
onBack = component::onBackClicked,
40+
animatable = ::materialPredictiveBackAnimatable,
41+
)
42+
},
3743
),
3844
) {
3945
CounterContent(

sample/shared/compose/src/commonMain/kotlin/com/arkivanov/sample/shared/dynamicfeatures/DynamicFeaturesContent.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ import androidx.compose.foundation.layout.Column
44
import androidx.compose.foundation.layout.fillMaxSize
55
import androidx.compose.runtime.Composable
66
import androidx.compose.ui.Modifier
7-
import com.arkivanov.decompose.extensions.compose.stack.Children
8-
import com.arkivanov.decompose.extensions.compose.stack.animation.fade
9-
import com.arkivanov.decompose.extensions.compose.stack.animation.stackAnimation
7+
import com.arkivanov.decompose.extensions.compose.experimental.stack.ChildStack
8+
import com.arkivanov.decompose.extensions.compose.experimental.stack.animation.fade
9+
import com.arkivanov.decompose.extensions.compose.experimental.stack.animation.stackAnimation
1010
import com.arkivanov.sample.shared.dynamicfeatures.DynamicFeaturesComponent.Child.Feature1Child
1111
import com.arkivanov.sample.shared.dynamicfeatures.DynamicFeaturesComponent.Child.Feature2Child
1212
import com.arkivanov.sample.shared.dynamicfeatures.dynamicfeature.DynamicFeatureContent
@@ -19,7 +19,7 @@ internal fun DynamicFeaturesContent(component: DynamicFeaturesComponent, modifie
1919
Column(modifier = modifier) {
2020
TopAppBar(title = "Dynamic Features", onCloseClick = component::onCloseClicked)
2121

22-
Children(
22+
ChildStack(
2323
stack = component.stack,
2424
modifier = Modifier.fillMaxSize(),
2525
animation = stackAnimation(fade()),

sample/shared/compose/src/commonMain/kotlin/com/arkivanov/sample/shared/dynamicfeatures/dynamicfeature/DynamicFeatureContent.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ import androidx.compose.runtime.Composable
77
import androidx.compose.runtime.remember
88
import androidx.compose.ui.Alignment
99
import androidx.compose.ui.Modifier
10-
import com.arkivanov.decompose.extensions.compose.stack.Children
11-
import com.arkivanov.decompose.extensions.compose.stack.animation.fade
12-
import com.arkivanov.decompose.extensions.compose.stack.animation.stackAnimation
10+
import com.arkivanov.decompose.extensions.compose.experimental.stack.ChildStack
11+
import com.arkivanov.decompose.extensions.compose.experimental.stack.animation.fade
12+
import com.arkivanov.decompose.extensions.compose.experimental.stack.animation.stackAnimation
1313
import com.arkivanov.sample.shared.dynamicfeatures.DynamicFeatureContent
1414
import com.arkivanov.sample.shared.dynamicfeatures.dynamicfeature.DynamicFeatureComponent.Child.ErrorChild
1515
import com.arkivanov.sample.shared.dynamicfeatures.dynamicfeature.DynamicFeatureComponent.Child.FeatureChild
@@ -21,7 +21,7 @@ fun <T : Any> DynamicFeatureContent(
2121
modifier: Modifier = Modifier,
2222
contentSupplier: () -> DynamicFeatureContent<T>,
2323
) {
24-
Children(
24+
ChildStack(
2525
stack = component.childStack,
2626
modifier = modifier,
2727
animation = stackAnimation(fade()),

sample/shared/compose/src/commonMain/kotlin/com/arkivanov/sample/shared/root/RootContent.kt

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,13 @@ import androidx.compose.material.MaterialTheme
66
import androidx.compose.material.Surface
77
import androidx.compose.runtime.Composable
88
import androidx.compose.ui.Modifier
9-
import com.arkivanov.decompose.extensions.compose.stack.Children
10-
import com.arkivanov.decompose.extensions.compose.stack.animation.fade
11-
import com.arkivanov.decompose.extensions.compose.stack.animation.plus
12-
import com.arkivanov.decompose.extensions.compose.stack.animation.predictiveback.predictiveBackAnimation
13-
import com.arkivanov.decompose.extensions.compose.stack.animation.scale
14-
import com.arkivanov.decompose.extensions.compose.stack.animation.stackAnimation
9+
import com.arkivanov.decompose.extensions.compose.experimental.stack.ChildStack
10+
import com.arkivanov.decompose.extensions.compose.experimental.stack.animation.PredictiveBackParams
11+
import com.arkivanov.decompose.extensions.compose.experimental.stack.animation.fade
12+
import com.arkivanov.decompose.extensions.compose.experimental.stack.animation.plus
13+
import com.arkivanov.decompose.extensions.compose.experimental.stack.animation.scale
14+
import com.arkivanov.decompose.extensions.compose.experimental.stack.animation.stackAnimation
15+
import com.arkivanov.decompose.extensions.compose.stack.animation.predictiveback.materialPredictiveBackAnimatable
1516
import com.arkivanov.sample.shared.customnavigation.CustomNavigationContent
1617
import com.arkivanov.sample.shared.dynamicfeatures.DynamicFeaturesContent
1718
import com.arkivanov.sample.shared.pages.PagesContent
@@ -35,13 +36,18 @@ fun RootContent(component: RootComponent, modifier: Modifier = Modifier) {
3536

3637
@Composable
3738
private fun Children(component: RootComponent, modifier: Modifier = Modifier) {
38-
Children(
39+
ChildStack(
3940
stack = component.stack,
4041
modifier = modifier,
41-
animation = predictiveBackAnimation(
42-
backHandler = component.backHandler,
43-
fallbackAnimation = stackAnimation(fade() + scale()),
44-
onBack = component::onBackClicked,
42+
animation = stackAnimation(
43+
animator = fade() + scale(),
44+
predictiveBackParams = {
45+
PredictiveBackParams(
46+
backHandler = component.backHandler,
47+
onBack = component::onBackClicked,
48+
animatable = ::materialPredictiveBackAnimatable,
49+
)
50+
},
4551
),
4652
) {
4753
Surface(modifier = Modifier.fillMaxSize(), color = MaterialTheme.colors.background) {

sample/shared/compose/src/commonMain/kotlin/com/arkivanov/sample/shared/tabs/TabsContent.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ import androidx.compose.runtime.Composable
2222
import androidx.compose.runtime.getValue
2323
import androidx.compose.ui.Modifier
2424
import androidx.compose.ui.unit.dp
25-
import com.arkivanov.decompose.extensions.compose.stack.Children
26-
import com.arkivanov.decompose.extensions.compose.stack.animation.fade
27-
import com.arkivanov.decompose.extensions.compose.stack.animation.stackAnimation
25+
import com.arkivanov.decompose.extensions.compose.experimental.stack.ChildStack
26+
import com.arkivanov.decompose.extensions.compose.experimental.stack.animation.fade
27+
import com.arkivanov.decompose.extensions.compose.experimental.stack.animation.stackAnimation
2828
import com.arkivanov.decompose.extensions.compose.subscribeAsState
2929
import com.arkivanov.sample.shared.SwipeUp
3030
import com.arkivanov.sample.shared.cards.CardsContent
@@ -49,7 +49,7 @@ internal fun TabsContent(
4949

5050
@Composable
5151
private fun Children(component: TabsComponent, modifier: Modifier = Modifier) {
52-
Children(
52+
ChildStack(
5353
stack = component.stack,
5454
modifier = modifier,
5555
animation = stackAnimation(fade()),

0 commit comments

Comments
 (0)