Effect

interface Effect(source)

One-time side effects emitted by the ViewModel to the UI layer.

Effects are consumed exactly once and are not part of the persistent UI state. Typical examples include navigation, showing snackbars, or triggering Haptic feedback.

Example usage:

sealed interface HomeEffect : Effect {
data class ShowToast(val message: String) : HomeEffect
data class NavigateToDetails(val id: String) : HomeEffect
data object CloseApp : HomeEffect
}