mirror of
https://github.com/smyalygames/checklist-tester.git
synced 2025-05-18 14:34:12 +02:00
feat(connector): remove gesture control on NavigationDrawer
This commit is contained in:
parent
fe92d6a6e9
commit
cd0f16828c
@ -39,18 +39,18 @@ fun App() {
|
|||||||
@Composable
|
@Composable
|
||||||
fun AppScaffold() {
|
fun AppScaffold() {
|
||||||
val drawerState = rememberDrawerState(initialValue = DrawerValue.Closed)
|
val drawerState = rememberDrawerState(initialValue = DrawerValue.Closed)
|
||||||
val scope = rememberCoroutineScope()
|
val drawerScope = rememberCoroutineScope()
|
||||||
|
|
||||||
TabNavigator(Projects) {
|
TabNavigator(Projects) {
|
||||||
Scaffold(
|
Scaffold(
|
||||||
topBar = {
|
topBar = {
|
||||||
TopBar(drawerState, scope)
|
TopBar(drawerState, drawerScope)
|
||||||
},
|
},
|
||||||
content = { innerPadding ->
|
content = { innerPadding ->
|
||||||
Column(
|
Column(
|
||||||
modifier = Modifier.padding(innerPadding)
|
modifier = Modifier.padding(innerPadding)
|
||||||
) {
|
) {
|
||||||
NavigationDrawer(drawerState) {
|
NavigationDrawer(drawerState = drawerState, drawerScope = drawerScope) {
|
||||||
KoinContext {
|
KoinContext {
|
||||||
CurrentTab()
|
CurrentTab()
|
||||||
}
|
}
|
||||||
@ -111,26 +111,28 @@ fun TopBar(
|
|||||||
@Composable
|
@Composable
|
||||||
fun NavigationDrawer(
|
fun NavigationDrawer(
|
||||||
drawerState: DrawerState,
|
drawerState: DrawerState,
|
||||||
|
drawerScope: CoroutineScope,
|
||||||
content: @Composable() () -> Unit,
|
content: @Composable() () -> Unit,
|
||||||
) {
|
) {
|
||||||
ModalNavigationDrawer(
|
ModalNavigationDrawer(
|
||||||
drawerState = drawerState,
|
drawerState = drawerState,
|
||||||
|
gesturesEnabled = false,
|
||||||
drawerContent = {
|
drawerContent = {
|
||||||
ModalDrawerSheet {
|
ModalDrawerSheet {
|
||||||
Column(modifier = Modifier.verticalScroll(rememberScrollState()) ) {
|
Column(modifier = Modifier.verticalScroll(rememberScrollState()) ) {
|
||||||
Text("Project Name...", modifier = Modifier.padding(16.dp))
|
Text("Project Name...", modifier = Modifier.padding(16.dp))
|
||||||
TabNavigationItem(Projects)
|
TabNavigationItem(tab = Projects, drawerState = drawerState, drawerScope = drawerScope)
|
||||||
HorizontalDivider()
|
HorizontalDivider()
|
||||||
|
|
||||||
Text("Tester", modifier = Modifier.padding(16.dp))
|
Text("Tester", modifier = Modifier.padding(16.dp))
|
||||||
TabNavigationItem(Procedures)
|
TabNavigationItem(tab = Procedures, drawerState = drawerState, drawerScope = drawerScope)
|
||||||
TabNavigationItem(SimulatorTest())
|
TabNavigationItem(tab = SimulatorTest(), drawerState = drawerState, drawerScope = drawerScope)
|
||||||
TabNavigationItem(TestResults())
|
TabNavigationItem(tab = TestResults(), drawerState = drawerState, drawerScope = drawerScope)
|
||||||
HorizontalDivider()
|
HorizontalDivider()
|
||||||
|
|
||||||
Text("Application", modifier = Modifier.padding(16.dp))
|
Text("Application", modifier = Modifier.padding(16.dp))
|
||||||
TabNavigationItem(Settings())
|
TabNavigationItem(tab = Settings(), drawerState = drawerState, drawerScope = drawerScope)
|
||||||
TabNavigationItem(About())
|
TabNavigationItem(tab = About(), drawerState = drawerState, drawerScope = drawerScope)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -143,13 +145,22 @@ fun NavigationDrawer(
|
|||||||
* Creates button in NavigationDrawer
|
* Creates button in NavigationDrawer
|
||||||
*/
|
*/
|
||||||
@Composable
|
@Composable
|
||||||
private fun TabNavigationItem(tab: Tab) {
|
private fun TabNavigationItem(
|
||||||
|
tab: Tab,
|
||||||
|
drawerState: DrawerState,
|
||||||
|
drawerScope: CoroutineScope
|
||||||
|
) {
|
||||||
val tabNavigator = LocalTabNavigator.current
|
val tabNavigator = LocalTabNavigator.current
|
||||||
|
|
||||||
NavigationDrawerItem(
|
NavigationDrawerItem(
|
||||||
label = { Text(tab.options.title) },
|
label = { Text(tab.options.title) },
|
||||||
icon = { tab.options.icon?.let { Icon(it, null) } },
|
icon = { tab.options.icon?.let { Icon(it, null) } },
|
||||||
selected = tabNavigator.current == tab,
|
selected = tabNavigator.current == tab,
|
||||||
onClick = { tabNavigator.current = tab },
|
onClick = {
|
||||||
|
drawerScope.launch {
|
||||||
|
tabNavigator.current = tab
|
||||||
|
drawerState.apply { close() }
|
||||||
|
}
|
||||||
|
},
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user