mirror of
https://github.com/msfjarvis/compose-lobsters
synced 2025-08-14 11:47:04 +05:30
refactor: inline current navigation destination logic
All the Compose samples seem to be doing this just fine
This commit is contained in:
parent
98ba579607
commit
0a5ac7471e
2 changed files with 3 additions and 9 deletions
|
@ -23,6 +23,7 @@ import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.text.font.FontWeight
|
import androidx.compose.ui.text.font.FontWeight
|
||||||
import androidx.lifecycle.viewmodel.compose.viewModel
|
import androidx.lifecycle.viewmodel.compose.viewModel
|
||||||
import androidx.navigation.NavType
|
import androidx.navigation.NavType
|
||||||
|
import androidx.navigation.compose.currentBackStackEntryAsState
|
||||||
import androidx.navigation.navArgument
|
import androidx.navigation.navArgument
|
||||||
import androidx.navigation.navDeepLink
|
import androidx.navigation.navDeepLink
|
||||||
import androidx.paging.compose.collectAsLazyPagingItems
|
import androidx.paging.compose.collectAsLazyPagingItems
|
||||||
|
@ -64,7 +65,8 @@ fun LobstersApp(
|
||||||
val navController = rememberMaterialMotionNavController()
|
val navController = rememberMaterialMotionNavController()
|
||||||
val coroutineScope = rememberCoroutineScope()
|
val coroutineScope = rememberCoroutineScope()
|
||||||
val postActions = rememberPostActions(urlLauncher, navController, viewModel)
|
val postActions = rememberPostActions(urlLauncher, navController, viewModel)
|
||||||
val currentDestination = currentNavigationDestination(navController)
|
val backStackEntry by navController.currentBackStackEntryAsState()
|
||||||
|
val currentDestination = backStackEntry?.destination?.route
|
||||||
val context = LocalContext.current
|
val context = LocalContext.current
|
||||||
|
|
||||||
val hottestPosts = viewModel.hottestPosts.collectAsLazyPagingItems()
|
val hottestPosts = viewModel.hottestPosts.collectAsLazyPagingItems()
|
||||||
|
|
|
@ -9,10 +9,8 @@ import androidx.compose.material3.ColorScheme
|
||||||
import androidx.compose.material3.dynamicDarkColorScheme
|
import androidx.compose.material3.dynamicDarkColorScheme
|
||||||
import androidx.compose.material3.dynamicLightColorScheme
|
import androidx.compose.material3.dynamicLightColorScheme
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.getValue
|
|
||||||
import androidx.compose.runtime.remember
|
import androidx.compose.runtime.remember
|
||||||
import androidx.navigation.NavController
|
import androidx.navigation.NavController
|
||||||
import androidx.navigation.compose.currentBackStackEntryAsState
|
|
||||||
import dev.msfjarvis.claw.android.ui.navigation.Destinations
|
import dev.msfjarvis.claw.android.ui.navigation.Destinations
|
||||||
import dev.msfjarvis.claw.android.viewmodel.ClawViewModel
|
import dev.msfjarvis.claw.android.viewmodel.ClawViewModel
|
||||||
import dev.msfjarvis.claw.common.posts.PostActions
|
import dev.msfjarvis.claw.common.posts.PostActions
|
||||||
|
@ -41,12 +39,6 @@ fun String.toLocalDateTime(): LocalDateTime {
|
||||||
return Instant.parse(this).toLocalDateTime(TimeZone.currentSystemDefault())
|
return Instant.parse(this).toLocalDateTime(TimeZone.currentSystemDefault())
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
|
||||||
fun currentNavigationDestination(navController: NavController): String? {
|
|
||||||
val backStackEntry by navController.currentBackStackEntryAsState()
|
|
||||||
return backStackEntry?.destination?.route
|
|
||||||
}
|
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun decideColorScheme(context: Context): ColorScheme {
|
fun decideColorScheme(context: Context): ColorScheme {
|
||||||
val isDarkTheme = isSystemInDarkTheme()
|
val isDarkTheme = isSystemInDarkTheme()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue