Revert "feat: add some navigation transitions"

This was fun but good lord it is ugly

This reverts commit 4f4b480a13.
This commit is contained in:
Harsh Shandilya 2023-05-31 05:57:25 +05:30
parent a7ab941543
commit 558062a915
No known key found for this signature in database

View file

@ -6,10 +6,7 @@
*/ */
package dev.msfjarvis.claw.android.ui package dev.msfjarvis.claw.android.ui
import androidx.compose.animation.AnimatedContentScope
import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.AnimatedVisibility
import androidx.compose.animation.slideInVertically
import androidx.compose.animation.slideOutVertically
import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.lazy.rememberLazyListState import androidx.compose.foundation.lazy.rememberLazyListState
@ -39,10 +36,6 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.semantics.semantics import androidx.compose.ui.semantics.semantics
import androidx.compose.ui.semantics.testTagsAsResourceId import androidx.compose.ui.semantics.testTagsAsResourceId
import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.font.FontWeight
import androidx.navigation.NamedNavArgument
import androidx.navigation.NavBackStackEntry
import androidx.navigation.NavDeepLink
import androidx.navigation.NavGraphBuilder
import androidx.navigation.NavType import androidx.navigation.NavType
import androidx.navigation.compose.NavHost import androidx.navigation.compose.NavHost
import androidx.navigation.compose.composable import androidx.navigation.compose.composable
@ -180,7 +173,7 @@ fun LobstersApp(
startDestination = Destinations.startDestination.route, startDestination = Destinations.startDestination.route,
) { ) {
val uri = LobstersApi.BASE_URL val uri = LobstersApi.BASE_URL
animatedScreenComposable(route = Destinations.Hottest.route) { composable(route = Destinations.Hottest.route) {
setWebUri("https://lobste.rs/") setWebUri("https://lobste.rs/")
NetworkPosts( NetworkPosts(
lazyPagingItems = hottestPosts, lazyPagingItems = hottestPosts,
@ -189,7 +182,7 @@ fun LobstersApp(
postActions = postActions, postActions = postActions,
) )
} }
animatedScreenComposable(route = Destinations.Newest.route) { composable(route = Destinations.Newest.route) {
setWebUri("https://lobste.rs/") setWebUri("https://lobste.rs/")
NetworkPosts( NetworkPosts(
lazyPagingItems = newestPosts, lazyPagingItems = newestPosts,
@ -198,7 +191,7 @@ fun LobstersApp(
postActions = postActions, postActions = postActions,
) )
} }
animatedScreenComposable(route = Destinations.Saved.route) { composable(route = Destinations.Saved.route) {
setWebUri(null) setWebUri(null)
DatabasePosts( DatabasePosts(
items = savedPosts, items = savedPosts,
@ -214,10 +207,6 @@ fun LobstersApp(
navDeepLink { uriPattern = "$uri/s/${Destinations.Comments.placeholder}/.*" }, navDeepLink { uriPattern = "$uri/s/${Destinations.Comments.placeholder}/.*" },
navDeepLink { uriPattern = "$uri/s/${Destinations.Comments.placeholder}" }, navDeepLink { uriPattern = "$uri/s/${Destinations.Comments.placeholder}" },
), ),
enterTransition = { slideInVertically(initialOffsetY = { -it }) },
exitTransition = { slideOutVertically(targetOffsetY = { -it }) },
popEnterTransition = { slideInVertically(initialOffsetY = { -it }) },
popExitTransition = { slideOutVertically(targetOffsetY = { -it }) },
) { backStackEntry -> ) { backStackEntry ->
val postId = requireNotNull(backStackEntry.arguments?.getString("postId")) val postId = requireNotNull(backStackEntry.arguments?.getString("postId"))
setWebUri("https://lobste.rs/s/$postId") setWebUri("https://lobste.rs/s/$postId")
@ -247,22 +236,3 @@ fun LobstersApp(
} }
} }
} }
@Suppress("NOTHING_TO_INLINE") // Not doing it for performance
private inline fun NavGraphBuilder.animatedScreenComposable(
route: String,
arguments: List<NamedNavArgument> = emptyList(),
deepLinks: List<NavDeepLink> = emptyList(),
noinline content: @Composable AnimatedContentScope.(NavBackStackEntry) -> Unit
) {
composable(
route = route,
arguments = arguments,
deepLinks = deepLinks,
enterTransition = { slideInVertically(initialOffsetY = { it }) },
exitTransition = { slideOutVertically(targetOffsetY = { it }) },
popEnterTransition = { slideInVertically(initialOffsetY = { it }) },
popExitTransition = { slideOutVertically(targetOffsetY = { it }) },
content = content,
)
}