Feat(About): Add about page
Add about page, add libraries page framework. Add page switching animation and navigation bar animation.
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
package top.fatweb.oxygen.toolbox.navigation
|
||||
|
||||
import androidx.compose.animation.scaleIn
|
||||
import androidx.compose.animation.slideOutVertically
|
||||
import androidx.navigation.NavController
|
||||
import androidx.navigation.NavGraphBuilder
|
||||
import androidx.navigation.NavOptions
|
||||
import androidx.navigation.compose.composable
|
||||
import top.fatweb.oxygen.toolbox.ui.about.AboutRoute
|
||||
|
||||
const val ABOUT_ROUTE = "about_route"
|
||||
|
||||
fun NavController.navigateToAbout(navOptions: NavOptions? = null) =
|
||||
navigate(ABOUT_ROUTE, navOptions)
|
||||
|
||||
fun NavGraphBuilder.aboutScreen(
|
||||
onBackClick: () -> Unit,
|
||||
onNavigateToLibraries: () -> Unit
|
||||
) {
|
||||
composable(
|
||||
route = ABOUT_ROUTE,
|
||||
enterTransition = {
|
||||
scaleIn()
|
||||
},
|
||||
exitTransition = {
|
||||
slideOutVertically { it }
|
||||
},
|
||||
popEnterTransition = {
|
||||
scaleIn()
|
||||
},
|
||||
popExitTransition = {
|
||||
slideOutVertically { it }
|
||||
}
|
||||
) {
|
||||
AboutRoute(
|
||||
onBackClick = onBackClick,
|
||||
onNavigateToLibraries = onNavigateToLibraries
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package top.fatweb.oxygen.toolbox.navigation
|
||||
|
||||
import androidx.compose.animation.scaleIn
|
||||
import androidx.compose.animation.scaleOut
|
||||
import androidx.navigation.NavController
|
||||
import androidx.navigation.NavGraphBuilder
|
||||
import androidx.navigation.NavOptions
|
||||
import androidx.navigation.compose.composable
|
||||
import top.fatweb.oxygen.toolbox.ui.about.LibrariesRoute
|
||||
|
||||
const val LIBRARIES_ROUTE = "libraries_route"
|
||||
|
||||
fun NavController.navigateToLibraries(navOptions: NavOptions? = null) =
|
||||
navigate(LIBRARIES_ROUTE, navOptions)
|
||||
|
||||
fun NavGraphBuilder.librariesScreen(
|
||||
onBackClick: () -> Unit
|
||||
) {
|
||||
composable(
|
||||
route = LIBRARIES_ROUTE,
|
||||
enterTransition = {
|
||||
scaleIn()
|
||||
},
|
||||
exitTransition = {
|
||||
scaleOut()
|
||||
},
|
||||
popEnterTransition = {
|
||||
scaleIn()
|
||||
},
|
||||
popExitTransition = {
|
||||
scaleOut()
|
||||
}
|
||||
) {
|
||||
LibrariesRoute(onBackClick = onBackClick)
|
||||
}
|
||||
}
|
||||
@@ -21,6 +21,13 @@ fun OxygenNavHost(
|
||||
searchScreen(
|
||||
onBackClick = navController::popBackStack
|
||||
)
|
||||
aboutScreen(
|
||||
onBackClick = navController::popBackStack,
|
||||
onNavigateToLibraries = navController::navigateToLibraries
|
||||
)
|
||||
librariesScreen(
|
||||
onBackClick = navController::popBackStack
|
||||
)
|
||||
toolsScreen(
|
||||
|
||||
)
|
||||
|
||||
@@ -4,6 +4,7 @@ import androidx.navigation.NavController
|
||||
import androidx.navigation.NavGraphBuilder
|
||||
import androidx.navigation.NavOptions
|
||||
import androidx.navigation.compose.composable
|
||||
import top.fatweb.oxygen.toolbox.ui.star.StarRoute
|
||||
|
||||
const val STAR_ROUTE = "star_route"
|
||||
|
||||
@@ -13,6 +14,6 @@ fun NavGraphBuilder.starScreen() {
|
||||
composable(
|
||||
route = STAR_ROUTE
|
||||
) {
|
||||
|
||||
StarRoute()
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user