fix: restore navigation rail

Fixes #834
This commit is contained in:
Harsh Shandilya 2025-05-30 00:06:22 +05:30
parent bebbe4f82c
commit 30d035baa2

View file

@ -14,6 +14,7 @@ import androidx.compose.animation.core.tween
import androidx.compose.animation.slideInHorizontally
import androidx.compose.animation.slideOutHorizontally
import androidx.compose.animation.togetherWith
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.lazy.rememberLazyListState
import androidx.compose.material3.ExperimentalMaterial3Api
@ -48,6 +49,7 @@ import dev.msfjarvis.claw.android.MainActivity
import dev.msfjarvis.claw.android.ui.PostActions
import dev.msfjarvis.claw.android.ui.decorations.ClawAppBar
import dev.msfjarvis.claw.android.ui.decorations.ClawNavigationBar
import dev.msfjarvis.claw.android.ui.decorations.ClawNavigationRail
import dev.msfjarvis.claw.android.ui.decorations.NavigationItem
import dev.msfjarvis.claw.android.ui.lists.DatabasePosts
import dev.msfjarvis.claw.android.ui.lists.NetworkPosts
@ -151,6 +153,16 @@ fun LobstersPostsScreen(
snackbarHost = { SnackbarHost(snackbarHostState) },
modifier = Modifier.semantics { testTagsAsResourceId = true },
) { contentPadding ->
Row {
AnimatedVisibility(visible = navigationType == ClawNavigationType.NAVIGATION_RAIL) {
val currentDestination = clawBackStack.firstOrNull()
ClawNavigationRail(
items = navItems,
currentNavKey = currentDestination,
navigateTo = { clawBackStack.add(it) },
isVisible = clawBackStack.isOnTopLevelDestination(),
)
}
NavDisplay(
backStack = clawBackStack.backStack,
modifier = modifier.hazeSource(hazeState),
@ -254,6 +266,7 @@ fun LobstersPostsScreen(
)
}
}
}
@Composable
private fun Placeholder(modifier: Modifier = Modifier) {