Merge pull request #547 from KotlinGeekDev/fix-landscape-issue

Fix menu drawer in landscape mode issue
This commit is contained in:
Vitor Pamplona
2023-08-12 14:15:43 -04:00
committed by GitHub

View File

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