blob: 9b4e2c56a5982c681263a79ed0ee0c0c270743e9 [file]
// DUMP_IR
// MODULE: navigation.runtime
// MODULE_KIND: LibraryBinary
// FILE: androidx/navigation/NavHostController.kt
package androidx.navigation
@DslMarker
public annotation class NavDestinationDsl
@NavDestinationDsl
public open class NavGraphBuilder
public open class NavHostController
public class NavBackStackEntry
// MODULE: navigation.compose(navigation.runtime)
// MODULE_KIND: LibraryBinary
// FILE: androidx/navigation/compose/NavHost.kt
package androidx.navigation.compose
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.navigation.NavHostController
import androidx.navigation.NavGraphBuilder
@Composable
public fun NavHost(
navController: NavHostController,
startDestination: String,
modifier: Modifier = Modifier,
builder: NavGraphBuilder.() -> Unit
) {}
// FILE: androidx/navigation/compose/NavGraphBuilder.kt
package androidx.navigation.compose
import androidx.compose.runtime.Composable
import androidx.navigation.NavBackStackEntry
import androidx.navigation.NavGraphBuilder
import androidx.compose.animation.AnimatedContentScope
public fun NavGraphBuilder.composable(
route: String,
content: @Composable AnimatedContentScope.(NavBackStackEntry) -> Unit
) {}
// MODULE: main(navigation.runtime, navigation.compose)
// FILE: com/example/reply/data/Email.kt
package com.example.reply.data
/**
* A simple data class to represent an Email.
*/
data class Email(
val id: Long,
val sender: String,
val recipients: List<String> = emptyList(),
val subject: String,
val body: String,
val attachments: List<String> = emptyList(),
var isImportant: Boolean = false,
var isStarred: Boolean = false,
val createdAt: String,
val threads: List<Email> = emptyList()
)
// FILE: com/example/reply/ui/ReplyInboxScreen.kt
package com.example.reply.ui
import androidx.compose.runtime.Composable
@Composable
fun ReplyInboxScreen(
replyHomeUIState: ReplyHomeUIState,
) {}
// FILE: com/example/reply/ui/ReplyHomeUIState.kt
package com.example.reply.ui
import com.example.reply.data.Email
data class ReplyHomeUIState(
val emails: List<Email> = emptyList(),
val selectedEmails: Set<Long> = emptySet(),
val openedEmail: Email? = null,
val isDetailOnlyOpen: Boolean = false,
val loading: Boolean = false,
val error: String? = null
)
// FILE: main.kt
package home
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.navigation.NavHostController
import androidx.navigation.compose.NavHost
import androidx.navigation.compose.composable
import com.example.reply.ui.ReplyHomeUIState
import com.example.reply.ui.ReplyInboxScreen
@Composable
private fun ReplyNavHost(
navController: NavHostController,
replyHomeUIState: ReplyHomeUIState,
inbox: String,
modifier: Modifier = Modifier,
) {
NavHost(
modifier = modifier,
navController = navController,
startDestination = inbox,
) {
composable(inbox) {
ReplyInboxScreen(
replyHomeUIState = replyHomeUIState,
)
}
}
}