Untitled

Anonymous
kotlin
01/23/2023 4:29 PM
456 B
24
Indexable
sealed interface Loadable<out T> {
  object Loading: Loadable<Nothing>

  data class Ready<out T>(val value: T): Loadable<T>
}

@Composable
fun <T> LoadableContent(
  loadable: Loadable<T>,
  content: @Composable (T) -> Unit
) {
  when (loadable) {
    Loadable.Loading -> SpinLoader()
    is Loadable.Ready -> content(loadable.value)
  }
}
Editor is loading...