diff --git a/libs/ui/src/commonMain/kotlin/ru/shadowsparky/ui/AppScaffold.kt b/libs/ui/src/commonMain/kotlin/ru/shadowsparky/ui/AppScaffold.kt index c13ca5c..5903714 100644 --- a/libs/ui/src/commonMain/kotlin/ru/shadowsparky/ui/AppScaffold.kt +++ b/libs/ui/src/commonMain/kotlin/ru/shadowsparky/ui/AppScaffold.kt @@ -28,8 +28,6 @@ import androidx.compose.material3.WideNavigationRail import androidx.compose.material3.WideNavigationRailItem import androidx.compose.material3.WideNavigationRailValue import androidx.compose.material3.adaptive.currentWindowAdaptiveInfoV2 -import androidx.compose.material3.adaptive.navigationsuite.NavigationSuite -import androidx.compose.material3.adaptive.navigationsuite.NavigationSuiteItem import androidx.compose.material3.adaptive.navigationsuite.NavigationSuiteScaffoldDefaults import androidx.compose.material3.adaptive.navigationsuite.NavigationSuiteScaffoldLayout import androidx.compose.material3.adaptive.navigationsuite.NavigationSuiteType @@ -146,11 +144,7 @@ private fun DynamicNavigationScaffold( content: @Composable (PaddingValues) -> Unit, ) { val entries = navigationEntries.orEmpty() - val isWideRail = navigationSuiteType == NavigationSuiteType.WideNavigationRailCollapsed || - navigationSuiteType == NavigationSuiteType.WideNavigationRailExpanded - val railState = rememberWideNavigationRailState( - initialValue = WideNavigationRailValue.Collapsed - ) + val railState = rememberWideNavigationRailState(WideNavigationRailValue.Collapsed) var railHasFocus by remember { mutableStateOf(false) } LaunchedEffect(railHasFocus) { if (railHasFocus) railState.expand() else railState.collapse() @@ -158,50 +152,32 @@ private fun DynamicNavigationScaffold( NavigationSuiteScaffoldLayout( navigationSuiteType = navigationSuiteType, navigationSuite = { - if (isWideRail) { - WideNavigationRail( - state = railState, - modifier = Modifier.onFocusChanged { railHasFocus = it.hasFocus } - .focusGroup(), - ) { - entries.forEach { entry -> - WideNavigationRailItem( - railExpanded = - railState.targetValue == WideNavigationRailValue.Expanded, - selected = currentRoute == entry.route, - onClick = { - onSelectNavigation?.invoke(entry.route) - }, - icon = { - Icon(entry.painter, entry.title) - }, - label = { Text(entry.title) }, - modifier = Modifier.focusBorder(false, CircleShape) - ) - } - } - } else { - NavigationSuite(navigationSuiteType = navigationSuiteType) { - entries.forEach { entry -> - NavigationSuiteItem( - navigationSuiteType = navigationSuiteType, - selected = currentRoute == entry.route, - onClick = { - onSelectNavigation?.invoke(entry.route) - }, - icon = { - Icon( - painter = entry.painter, - contentDescription = entry.title, - ) - }, - label = { Text(entry.title) }, - modifier = Modifier.focusBorder(false, CircleShape) - ) - } + WideNavigationRail( + state = railState, + modifier = Modifier.onFocusChanged { railHasFocus = it.hasFocus } + .focusGroup(), + ) { + entries.forEach { entry -> + WideNavigationRailItem( + railExpanded = + railState.targetValue == WideNavigationRailValue.Expanded, + selected = currentRoute == entry.route, + onClick = { + onSelectNavigation?.invoke(entry.route) + }, + icon = { + Icon(entry.painter, entry.title) + }, + label = { + if (railState.currentValue == WideNavigationRailValue.Expanded) { + Text(entry.title) + } + }, + modifier = Modifier.focusBorder(false, CircleShape) + ) } } - }, + } ) { Scaffold( modifier = if (scrollBehavior != null) {