Fixes visibility of the bottom and top bar when the user comes back to the app.

This commit is contained in:
Vitor Pamplona
2023-10-06 16:37:55 -04:00
parent 3c4cf03684
commit 275051ed30
@@ -23,7 +23,6 @@ import androidx.compose.material3.rememberModalBottomSheetState
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.DisposableEffect import androidx.compose.runtime.DisposableEffect
import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.MutableState
import androidx.compose.runtime.State import androidx.compose.runtime.State
import androidx.compose.runtime.collectAsState import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.derivedStateOf import androidx.compose.runtime.derivedStateOf
@@ -265,7 +264,10 @@ fun MainScreen(
} }
} }
WatchNavStateToUpdateBarVisibility(navState, bottomBarOffsetHeightPx) WatchNavStateToUpdateBarVisibility(navState) {
bottomBarOffsetHeightPx.value = 0f
shouldShow.value = true
}
ModalNavigationDrawer( ModalNavigationDrawer(
drawerState = drawerState, drawerState = drawerState,
@@ -393,16 +395,16 @@ private fun DisplayErrorMessages(accountViewModel: AccountViewModel) {
} }
@Composable @Composable
fun WatchNavStateToUpdateBarVisibility(navState: State<NavBackStackEntry?>, bottomBarOffsetHeightPx: MutableState<Float>) { fun WatchNavStateToUpdateBarVisibility(navState: State<NavBackStackEntry?>, onReset: () -> Unit) {
LaunchedEffect(key1 = navState.value) { LaunchedEffect(key1 = navState.value) {
bottomBarOffsetHeightPx.value = 0f onReset()
} }
val lifeCycleOwner = LocalLifecycleOwner.current val lifeCycleOwner = LocalLifecycleOwner.current
DisposableEffect(lifeCycleOwner) { DisposableEffect(lifeCycleOwner) {
val observer = LifecycleEventObserver { _, event -> val observer = LifecycleEventObserver { _, event ->
if (event == Lifecycle.Event.ON_RESUME) { if (event == Lifecycle.Event.ON_RESUME) {
bottomBarOffsetHeightPx.value = 0f onReset()
} }
} }