Show error on home screen
This commit is contained in:
parent
0ca6ac9c9a
commit
d74534d96b
1 changed files with 28 additions and 12 deletions
|
|
@ -16,6 +16,7 @@ import androidx.compose.ui.graphics.ColorFilter
|
|||
import androidx.compose.ui.layout.ContentScale
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.text.style.TextAlign
|
||||
import androidx.compose.ui.unit.dp
|
||||
import coil.compose.rememberImagePainter
|
||||
import com.google.accompanist.swiperefresh.SwipeRefresh
|
||||
|
|
@ -39,12 +40,16 @@ fun HomeScreen(
|
|||
.clickable { homeScreenState.onLogout() }
|
||||
)
|
||||
}
|
||||
Box {
|
||||
if (homeScreenState.isError) {
|
||||
ErrorText(Modifier.align(Alignment.Center))
|
||||
}
|
||||
SwipeRefresh(
|
||||
state = rememberSwipeRefreshState(isRefreshing = homeScreenState.loading),
|
||||
onRefresh = {
|
||||
homeScreenState.onRefresh()
|
||||
}) {
|
||||
LazyColumn {
|
||||
LazyColumn(modifier = Modifier.fillMaxSize()) {
|
||||
items(homeScreenState.content) { item ->
|
||||
Item(
|
||||
Modifier.padding(horizontal = 16.dp, vertical = 8.dp),
|
||||
|
|
@ -56,6 +61,7 @@ fun HomeScreen(
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun Item(
|
||||
|
|
@ -98,3 +104,13 @@ private fun Title(modifier: Modifier = Modifier) {
|
|||
style = MaterialTheme.typography.h4
|
||||
)
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun ErrorText(modifier: Modifier = Modifier) {
|
||||
Text(
|
||||
stringResource(id = R.string.something_went_wrong),
|
||||
modifier = modifier.padding(16.dp),
|
||||
style = MaterialTheme.typography.h4,
|
||||
textAlign = TextAlign.Center
|
||||
)
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue