Watch orientation change, and close drawer in landscape mode.

This commit is contained in:
KotlinGeekDev
2023-08-11 23:27:04 +01:00
parent 5de0808b1e
commit 6875fdc4d0

View File

@@ -1,5 +1,6 @@
package com.vitorpamplona.amethyst.ui.screen.loggedIn
import android.content.res.Configuration
import androidx.activity.compose.BackHandler
import androidx.compose.animation.Crossfade
import androidx.compose.animation.core.tween
@@ -18,14 +19,15 @@ import androidx.compose.material.rememberDrawerState
import androidx.compose.material.rememberModalBottomSheetState
import androidx.compose.material.rememberScaffoldState
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.State
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.derivedStateOf
import androidx.compose.runtime.getValue
import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalConfiguration
import androidx.lifecycle.viewmodel.compose.viewModel
import androidx.navigation.NavBackStackEntry
import androidx.navigation.compose.currentBackStackEntryAsState
@@ -74,6 +76,13 @@ fun MainScreen(
val navController = rememberNavController()
val navState = navController.currentBackStackEntryAsState()
val orientation = LocalConfiguration.current.orientation
LaunchedEffect(key1 = orientation) {
if (orientation == Configuration.ORIENTATION_LANDSCAPE) {
scaffoldState.drawerState.close()
}
}
val nav = remember(navController) {
{ route: String ->
scope.launch {