Skip to content

Commit

Permalink
Minor improvements
Browse files Browse the repository at this point in the history
  • Loading branch information
massivemadness committed Aug 13, 2023
1 parent 2851dc7 commit 2cfa9c5
Showing 1 changed file with 6 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.derivedStateOf
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableFloatStateOf
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.saveable.SaveableStateHolder
Expand Down Expand Up @@ -146,7 +147,7 @@ fun FragulaNavHost(

// endregion

var parallaxOffset by remember { mutableStateOf(0f) }
val parallaxOffset = remember { mutableFloatStateOf(0f) }

for ((index, backStackEntry) in backStack.withIndex()) { // FIXME don't render all entries at once
SwipeableBox(
Expand All @@ -160,11 +161,11 @@ fun FragulaNavHost(
parallaxFactor = parallaxFactor,
animDurationMs = animDurationMs,
elevationAmount = elevationAmount,
offsetProvider = { parallaxOffset },
offsetProvider = { parallaxOffset.floatValue },
backToProvider = { swipeBackNavigator.backTo != null },
positionChanger = { position, positionOffset, positionOffsetPixels ->
onPageScrolled(position, positionOffset, positionOffsetPixels)
parallaxOffset = positionOffset
parallaxOffset.floatValue = positionOffset
},
onDragFinished = { swipeBackNavigator.slideOut = it == SwipeState.SLIDE_OUT },
onScrollFinished = { swipeBackNavigator.markTransitionComplete(backStackEntry) },
Expand Down Expand Up @@ -224,7 +225,7 @@ private fun SwipeableBox(
var animateSlideIn by rememberSaveable { mutableStateOf(position > 0) }
var pointerPosition by remember {
val initialValue = if (animateSlideIn) pageEnd else pageStart
mutableStateOf(initialValue)
mutableFloatStateOf(initialValue)
}
val scrollPosition by animateFloatAsState(
targetValue = when (swipeState) {
Expand All @@ -236,6 +237,7 @@ private fun SwipeableBox(
durationMillis = if (swipeState != SwipeState.FOLLOW_POINTER) animDurationMs else 0,
easing = SwipeInterpolator().toEasing(),
),
label = "ScrollAnimation",
) { value ->
when (value) {
pageStart -> {
Expand Down

0 comments on commit 2cfa9c5

Please sign in to comment.