Disable Drawer in RollOverlay if no alteration availlable.

This commit is contained in:
Thomas Andres Gomez 2023-09-27 14:39:24 +02:00
parent 08f234dc44
commit 3820f96509
2 changed files with 14 additions and 11 deletions

View file

@ -11,13 +11,11 @@ import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.ColumnScope
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.navigationBarsPadding
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.pager.HorizontalPager
import androidx.compose.foundation.pager.PagerScope
import androidx.compose.foundation.pager.PagerState
import androidx.compose.foundation.pager.rememberPagerState
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material.ExperimentalMaterialApi
import androidx.compose.material.ModalBottomSheetLayout
import androidx.compose.material.ModalBottomSheetState
@ -36,7 +34,6 @@ import androidx.compose.material3.Surface
import androidx.compose.material3.Text
import androidx.compose.material3.TopAppBar
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
@ -46,12 +43,10 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
import androidx.compose.ui.unit.dp
import androidx.compose.ui.zIndex
import androidx.hilt.navigation.compose.hiltViewModel
import com.pixelized.rplexicon.LocalRollOverlay
import com.pixelized.rplexicon.R
import com.pixelized.rplexicon.ui.composable.Handle
import com.pixelized.rplexicon.ui.composable.Loader
import com.pixelized.rplexicon.ui.navigation.LocalScreenNavHost
import com.pixelized.rplexicon.ui.screens.character.composable.character.CharacterSheetHeader
@ -73,7 +68,6 @@ import kotlinx.coroutines.launch
@OptIn(
ExperimentalMaterialApi::class,
ExperimentalFoundationApi::class,
ExperimentalMaterial3Api::class,
)
@Composable
fun CharacterSheetScreen(

View file

@ -36,6 +36,7 @@ import androidx.compose.runtime.Composable
import androidx.compose.runtime.MutableState
import androidx.compose.runtime.Stable
import androidx.compose.runtime.State
import androidx.compose.runtime.derivedStateOf
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
@ -118,10 +119,16 @@ private fun RollOverlayContent(
onAlteration: (id: String) -> Unit,
) {
val density = LocalDensity.current
val enableDrawer = remember {
derivedStateOf {
alterations.value.isNotEmpty()
}
}
ModalNavigationDrawer(
modifier = modifier,
drawerState = drawer,
gesturesEnabled = enableDrawer.value,
drawerContent = {
Surface {
LazyColumn(
@ -148,11 +155,13 @@ private fun RollOverlayContent(
colors = TopAppBarDefaults.topAppBarColors(containerColor = Color.Transparent),
title = { },
navigationIcon = {
IconButton(onClick = onMenu) {
Icon(
imageVector = Icons.Outlined.Menu,
contentDescription = null,
)
if (enableDrawer.value) {
IconButton(onClick = onMenu) {
Icon(
imageVector = Icons.Outlined.Menu,
contentDescription = null,
)
}
}
},
actions = {