Screen

Represents an individual screen, used as a key for Presenter.Factory and Ui.Factory.

Screens can be simple sentinel data object types or data classes with information to share. Screens with information should contain the minimum amount of data needed for the target presenter to begin presenting state.

@Serializable
data class AddFavorites(
val externalId: UUID,
) : Screen

Screens are then passed into a Navigator to navigate to them.

fun showAddFavorites() {
navigator.goTo(
AddFavorites(
externalId = uuidGenerator.generate()
)
)
}

Note that @Serializable is not strictly required, and you may bring your own serialization or use ParcelableScreen on Android if you rather. You may also opt for no serialization at all if you do not need it!

Inheritors

Represents an individual screen, used as a key for Presenter.Factory and Ui.Factory.

Screens can be simple sentinel data object types or data classes with information to share. Screens with information should contain the minimum amount of data needed for the target presenter to begin presenting state.

@Serializable
data class AddFavorites(
val externalId: UUID,
) : Screen

Screens are then passed into a Navigator to navigate to them.

fun showAddFavorites() {
navigator.goTo(
AddFavorites(
externalId = uuidGenerator.generate()
)
)
}

Note that @Serializable is not strictly required, and you may bring your own serialization or use ParcelableScreen on Android if you rather. You may also opt for no serialization at all if you do not need it!

Inheritors

Represents an individual screen, used as a key for Presenter.Factory and Ui.Factory.

Screens can be simple sentinel data object types or data classes with information to share. Screens with information should contain the minimum amount of data needed for the target presenter to begin presenting state.

@Serializable
data class AddFavorites(
val externalId: UUID,
) : Screen

Screens are then passed into a Navigator to navigate to them.

fun showAddFavorites() {
navigator.goTo(
AddFavorites(
externalId = uuidGenerator.generate()
)
)
}

Note that @Serializable is not strictly required, and you may bring your own serialization or use ParcelableScreen on Android if you rather. You may also opt for no serialization at all if you do not need it!

Inheritors

Represents an individual screen, used as a key for Presenter.Factory and Ui.Factory.

Screens can be simple sentinel data object types or data classes with information to share. Screens with information should contain the minimum amount of data needed for the target presenter to begin presenting state.

@Serializable
data class AddFavorites(
val externalId: UUID,
) : Screen

Screens are then passed into a Navigator to navigate to them.

fun showAddFavorites() {
navigator.goTo(
AddFavorites(
externalId = uuidGenerator.generate()
)
)
}

Note that @Serializable is not strictly required, and you may bring your own serialization or use ParcelableScreen on Android if you rather. You may also opt for no serialization at all if you do not need it!

Inheritors

Represents an individual screen, used as a key for Presenter.Factory and Ui.Factory.

Screens can be simple sentinel data object types or data classes with information to share. Screens with information should contain the minimum amount of data needed for the target presenter to begin presenting state.

@Serializable
data class AddFavorites(
val externalId: UUID,
) : Screen

Screens are then passed into a Navigator to navigate to them.

fun showAddFavorites() {
navigator.goTo(
AddFavorites(
externalId = uuidGenerator.generate()
)
)
}

Note that @Serializable is not strictly required, and you may bring your own serialization or use ParcelableScreen on Android if you rather. You may also opt for no serialization at all if you do not need it!

Inheritors