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:
2024-04-03 18:12:00 +08:00
parent 8b200d14c6
commit 92cd20f36f
15 changed files with 460 additions and 46 deletions

View File

@@ -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
)
}
}

View File

@@ -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)
}
}

View File

@@ -21,6 +21,13 @@ fun OxygenNavHost(
searchScreen(
onBackClick = navController::popBackStack
)
aboutScreen(
onBackClick = navController::popBackStack,
onNavigateToLibraries = navController::navigateToLibraries
)
librariesScreen(
onBackClick = navController::popBackStack
)
toolsScreen(
)

View File

@@ -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()
}
}