Ensure EmptyScreen is scrollable

Also fix padding for loading/empty states in BrowseSourceScreen
This commit is contained in:
arkon 2023-03-29 22:53:58 -04:00
parent 6f1099b710
commit 1dd62af188
2 changed files with 10 additions and 2 deletions

View file

@ -78,6 +78,7 @@ fun BrowseSourceContent(
if (mangaList.itemCount <= 0 && errorState != null && errorState is LoadState.Error) { if (mangaList.itemCount <= 0 && errorState != null && errorState is LoadState.Error) {
EmptyScreen( EmptyScreen(
modifier = Modifier.padding(contentPadding),
message = getErrorMessage(errorState), message = getErrorMessage(errorState),
actions = if (source is LocalSource) { actions = if (source is LocalSource) {
listOf( listOf(
@ -112,7 +113,9 @@ fun BrowseSourceContent(
} }
if (mangaList.itemCount == 0 && mangaList.loadState.refresh is LoadState.Loading) { if (mangaList.itemCount == 0 && mangaList.loadState.refresh is LoadState.Loading) {
LoadingScreen() LoadingScreen(
modifier = Modifier.padding(contentPadding),
)
return return
} }

View file

@ -9,6 +9,8 @@ import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.paddingFromBaseline import androidx.compose.foundation.layout.paddingFromBaseline
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
import androidx.compose.material3.Icon import androidx.compose.material3.Icon
import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text import androidx.compose.material3.Text
@ -54,6 +56,7 @@ fun EmptyScreen(
Column( Column(
modifier = modifier modifier = modifier
.fillMaxSize() .fillMaxSize()
.verticalScroll(rememberScrollState())
.padding(horizontal = 24.dp), .padding(horizontal = 24.dp),
horizontalAlignment = Alignment.CenterHorizontally, horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center, verticalArrangement = Arrangement.Center,
@ -66,7 +69,9 @@ fun EmptyScreen(
Text( Text(
text = message, text = message,
modifier = Modifier.paddingFromBaseline(top = 24.dp).secondaryItemAlpha(), modifier = Modifier
.paddingFromBaseline(top = 24.dp)
.secondaryItemAlpha(),
style = MaterialTheme.typography.bodyMedium, style = MaterialTheme.typography.bodyMedium,
textAlign = TextAlign.Center, textAlign = TextAlign.Center,
) )