feat: implement core app screens, viewmodels, and repository layer for link management and navigation
This commit is contained in:
@@ -49,6 +49,9 @@ sealed class Screen(val route: String) {
|
||||
}
|
||||
object Reminders : Screen("reminders")
|
||||
object Todo : Screen("todo")
|
||||
object TodoDetail : Screen("todoDetail/{linkId}") {
|
||||
fun createRoute(linkId: Int): String = "todoDetail/$linkId"
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
@@ -163,6 +166,7 @@ fun AppNavGraph(
|
||||
},
|
||||
onNavigateToReminders = { navController.navigate(Screen.Reminders.route) },
|
||||
onNavigateToTodo = { navController.navigate(Screen.Todo.route) },
|
||||
onNavigateToTodoDetail = { linkId -> navController.navigate(Screen.TodoDetail.createRoute(linkId)) },
|
||||
onPlayAudio = onPlayAudio,
|
||||
initialTagFilter = tag,
|
||||
initialCollectionId = collectionId
|
||||
@@ -355,5 +359,20 @@ fun AppNavGraph(
|
||||
onNavigateBack = { navController.popBackStack() }
|
||||
)
|
||||
}
|
||||
|
||||
composable(
|
||||
route = Screen.TodoDetail.route,
|
||||
arguments = listOf(
|
||||
navArgument("linkId") {
|
||||
type = NavType.IntType
|
||||
}
|
||||
)
|
||||
) { backStackEntry ->
|
||||
val linkId = backStackEntry.arguments?.getInt("linkId") ?: 0
|
||||
com.shaarit.presentation.todo.TodoDetailScreen(
|
||||
linkId = linkId,
|
||||
onNavigateBack = { navController.popBackStack() }
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user