Skip to content

Instantly share code, notes, and snippets.

@krzdabrowski
Created December 2, 2022 16:39
Show Gist options
  • Save krzdabrowski/187dac041019453322f6e889b9eb20b5 to your computer and use it in GitHub Desktop.
Save krzdabrowski/187dac041019453322f6e889b9eb20b5 to your computer and use it in GitHub Desktop.
@Composable
internal fun RocketsScreen(
uiState: RocketsUiState,
(...)
) {
(...)
if (uiState.rockets.isNotEmpty()) {
RocketsAvailableContent(
snackbarHostState = snackbarHostState,
uiState = uiState,
(...)
)
} else {
RocketsNotAvailableContent(
uiState = uiState
)
}
}
@Composable
private fun RocketsAvailableContent(
snackbarHostState: SnackbarHostState,
uiState: RocketsUiState,
(...)
) {
if (uiState.isError) {
val errorMessage = stringResource(R.string.rockets_error_refreshing)
LaunchedEffect(snackbarHostState) {
snackbarHostState.showSnackbar(
message = errorMessage
)
}
}
RocketsListContent(
rocketList = uiState.rockets,
(...)
)
}
@Composable
private fun RocketsNotAvailableContent(uiState: RocketsUiState) {
when {
uiState.isLoading -> RocketsLoadingPlaceholder()
uiState.isError -> RocketsErrorContent()
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment