Skip to content
This repository has been archived by the owner on Jul 2, 2024. It is now read-only.

Commit

Permalink
Optimize NavGraph
Browse files Browse the repository at this point in the history
  • Loading branch information
SanmerDev committed Mar 23, 2024
1 parent cc72697 commit 755f80d
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 42 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import androidx.compose.ui.Modifier
import androidx.navigation.compose.NavHost
import androidx.navigation.compose.rememberNavController
import com.sanmer.geomag.ui.navigation.MainScreen
import com.sanmer.geomag.ui.navigation.graphs.customizeScreen
import com.sanmer.geomag.ui.navigation.graphs.homeScreen
import com.sanmer.geomag.ui.navigation.graphs.recordsScreen
import com.sanmer.geomag.ui.navigation.graphs.settingsScreen
Expand All @@ -28,9 +27,6 @@ fun MainScreen() {
homeScreen(
navController = navController
)
customizeScreen(
navController = navController
)
recordsScreen(
navController = navController
)
Expand Down
2 changes: 0 additions & 2 deletions app/src/main/kotlin/com/sanmer/geomag/ui/navigation/Main.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,9 @@ import com.sanmer.geomag.ui.utils.navigatePopUpTo

enum class MainScreen(val route: String) {
Home("HomeScreen"),
Calculate("CalculateScreen"),
Records("RecordsScreen"),
Settings("SettingsScreen")
}

fun NavController.navigateToCalculate() = navigatePopUpTo(MainScreen.Calculate.route)
fun NavController.navigateToRecords() = navigatePopUpTo(MainScreen.Records.route)
fun NavController.navigateToSettings() = navigatePopUpTo(MainScreen.Settings.route)

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,15 @@ import androidx.navigation.NavController
import androidx.navigation.NavGraphBuilder
import androidx.navigation.compose.composable
import androidx.navigation.navigation
import com.sanmer.geomag.ui.animate.slideInRightToLeft
import com.sanmer.geomag.ui.animate.slideOutLeftToRight
import com.sanmer.geomag.ui.navigation.MainScreen
import com.sanmer.geomag.ui.screens.customize.CustomizeScreen
import com.sanmer.geomag.ui.screens.home.HomeScreen

enum class HomeScreen(val route: String) {
Home("Home")
Home("Home"),
Customize("Customize")
}

fun NavGraphBuilder.homeScreen(
Expand All @@ -28,4 +32,14 @@ fun NavGraphBuilder.homeScreen(
navController = navController
)
}

composable(
route = HomeScreen.Customize.route,
enterTransition = { slideInRightToLeft() + fadeIn() },
exitTransition = { slideOutLeftToRight() + fadeOut() }
) {
CustomizeScreen(
navController = navController
)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,8 @@ import com.sanmer.geomag.R
import com.sanmer.geomag.ui.component.DropdownMenu
import com.sanmer.geomag.ui.component.OverviewButton
import com.sanmer.geomag.ui.component.OverviewCard
import com.sanmer.geomag.ui.navigation.navigateToCalculate
import com.sanmer.geomag.ui.navigation.graphs.HomeScreen
import com.sanmer.geomag.ui.utils.navigateSingleTopTo

@Composable
fun CalculationItem(
Expand Down Expand Up @@ -62,7 +63,7 @@ fun CalculationItem(
)

OverviewButton(
onClick = { navController.navigateToCalculate() },
onClick = { navController.navigateSingleTopTo(HomeScreen.Customize.route) },
icon = R.drawable.variable_plus,
text = stringResource(id = R.string.overview_customized),
enabled = BuildConfig.DEBUG
Expand Down

0 comments on commit 755f80d

Please sign in to comment.