@@ -13,7 +13,6 @@ import androidx.compose.foundation.clickable
1313import androidx.compose.foundation.interaction.MutableInteractionSource
1414import androidx.compose.foundation.interaction.PressInteraction
1515import androidx.compose.foundation.layout.Arrangement
16- import androidx.compose.foundation.layout.Box
1716import androidx.compose.foundation.layout.Column
1817import androidx.compose.foundation.layout.Row
1918import androidx.compose.foundation.layout.fillMaxWidth
@@ -42,9 +41,7 @@ import androidx.compose.runtime.CompositionLocalProvider
4241import androidx.compose.runtime.DisposableEffect
4342import androidx.compose.runtime.LaunchedEffect
4443import androidx.compose.runtime.getValue
45- import androidx.compose.runtime.mutableStateOf
4644import androidx.compose.runtime.remember
47- import androidx.compose.runtime.setValue
4845import androidx.compose.ui.Alignment
4946import androidx.compose.ui.Modifier
5047import androidx.compose.ui.draw.clip
@@ -56,7 +53,6 @@ import androidx.compose.ui.text.font.FontWeight
5653import androidx.compose.ui.tooling.preview.Preview
5754import androidx.compose.ui.unit.dp
5855import androidx.lifecycle.compose.collectAsStateWithLifecycle
59- import androidx.navigation.NavBackStackEntry
6056import androidx.navigation.NavDestination.Companion.hasRoute
6157import androidx.navigation.compose.NavHost
6258import androidx.navigation.compose.composable
@@ -220,6 +216,9 @@ fun App() = safe {
220216 val account by getCurrentAccountObjectFlow()
221217 .collectAsStateWithLifecycle(null )
222218
219+ val swappedMiddleNavs by settings.getBooleanFlow(" swapped_middle_navs" , false )
220+ .collectAsStateWithLifecycle(false )
221+
223222
224223 DisposableEffect (Unit ) {
225224 ExternalUriHandler .listener = { uri ->
@@ -301,31 +300,59 @@ fun App() = safe {
301300 label = { Text (stringResource(Res .string.timeline)) }
302301 )
303302
304- NavigationBarItem (
305- selected = atRoute<NotificationsRoute >(currentDest),
306- onClick = { navController.navigate(NotificationsRoute ) },
307- icon = {
308- if (atRoute<NotificationsRoute >(currentDest)) Icon (
309- painterResource(Res .drawable.icon_notifications_filled_24px),
310- null
311- )
312- else Icon (painterResource(Res .drawable.icon_notifications_24px), null )
313- },
314- label = { Text (stringResource(Res .string.notifications)) }
315- )
303+ if (swappedMiddleNavs) {
304+ NavigationBarItem (
305+ selected = atRoute<ExploreRoute >(currentDest),
306+ onClick = { navController.navigate(ExploreRoute ) },
307+ icon = {
308+ if (atRoute<ExploreRoute >(currentDest)) Icon (
309+ painterResource(Res .drawable.icon_explore_filled_24px),
310+ null
311+ )
312+ else Icon (painterResource(Res .drawable.icon_explore_24px), null )
313+ },
314+ label = { Text (stringResource(Res .string.explore)) }
315+ )
316316
317- NavigationBarItem (
318- selected = atRoute<ExploreRoute >(currentDest),
319- onClick = { navController.navigate(ExploreRoute ) },
320- icon = {
321- if (atRoute<ExploreRoute >(currentDest)) Icon (
322- painterResource(Res .drawable.icon_explore_filled_24px),
323- null
324- )
325- else Icon (painterResource(Res .drawable.icon_explore_24px), null )
326- },
327- label = { Text (stringResource(Res .string.explore)) }
328- )
317+ NavigationBarItem (
318+ selected = atRoute<NotificationsRoute >(currentDest),
319+ onClick = { navController.navigate(NotificationsRoute ) },
320+ icon = {
321+ if (atRoute<NotificationsRoute >(currentDest)) Icon (
322+ painterResource(Res .drawable.icon_notifications_filled_24px),
323+ null
324+ )
325+ else Icon (painterResource(Res .drawable.icon_notifications_24px), null )
326+ },
327+ label = { Text (stringResource(Res .string.notifications)) }
328+ )
329+ } else {
330+ NavigationBarItem (
331+ selected = atRoute<NotificationsRoute >(currentDest),
332+ onClick = { navController.navigate(NotificationsRoute ) },
333+ icon = {
334+ if (atRoute<NotificationsRoute >(currentDest)) Icon (
335+ painterResource(Res .drawable.icon_notifications_filled_24px),
336+ null
337+ )
338+ else Icon (painterResource(Res .drawable.icon_notifications_24px), null )
339+ },
340+ label = { Text (stringResource(Res .string.notifications)) }
341+ )
342+
343+ NavigationBarItem (
344+ selected = atRoute<ExploreRoute >(currentDest),
345+ onClick = { navController.navigate(ExploreRoute ) },
346+ icon = {
347+ if (atRoute<ExploreRoute >(currentDest)) Icon (
348+ painterResource(Res .drawable.icon_explore_filled_24px),
349+ null
350+ )
351+ else Icon (painterResource(Res .drawable.icon_explore_24px), null )
352+ },
353+ label = { Text (stringResource(Res .string.explore)) }
354+ )
355+ }
329356
330357 NavigationBarItem (
331358 selected = atRoute<MyProfileRoute >(currentDest),
0 commit comments