Factory
A factory that creates Ui's for a given Screen.
Note that individual UIs should just be top-level ui function calls that factories simply call into. This allows easily standing up composable preview functions.
class FavoritesUiFactory @Inject constructor() : Ui.Factory {
override fun create(
screen: Screen,
context: CircuitContext
): Ui<*>? {
return when (screen) {
is AddFavorites -> addFavoritesUi()
else -> null
}
}
}
private fun addFavoritesUi() =
ui<AddFavorites.State> { state, modifier -> Favorites(state, modifier) }
@Composable private fun Favorites(state: State, modifier: Modifier = Modifier) {...}
Content copied to clipboard