Improve migration error display

This commit is contained in:
Jobobby04
2022-12-03 19:22:36 -05:00
parent 8b57decea6
commit 49924957d2
8 changed files with 35 additions and 10 deletions
@@ -99,7 +99,8 @@ fun MigrationListScreen(
MigrationItem(
modifier = Modifier
.padding(top = 8.dp)
.weight(1f),
.weight(1f)
.align(Alignment.Top),
manga = migrationItem.manga,
sourcesString = migrationItem.sourcesString,
chapterInfo = migrationItem.chapterInfo,
@@ -115,7 +116,8 @@ fun MigrationListScreen(
MigrationItemResult(
modifier = Modifier
.padding(top = 8.dp)
.weight(1f),
.weight(1f)
.align(Alignment.Top),
migrationItem = migrationItem,
result = result,
getManga = getManga,
@@ -2,11 +2,15 @@ package eu.kanade.presentation.browse.components
import androidx.compose.foundation.Image
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.aspectRatio
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.widthIn
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material3.CircularProgressIndicator
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.produceState
@@ -14,6 +18,7 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import eu.kanade.domain.manga.model.Manga
import eu.kanade.presentation.components.MangaCover
@@ -43,14 +48,26 @@ fun MigrationItemResult(
) {
CircularProgressIndicator()
}
MigratingManga.SearchResult.NotFound -> Image(
painter = rememberResourceBitmapPainter(id = R.drawable.cover_error),
contentDescription = null,
modifier = Modifier
.matchParentSize()
.clip(RoundedCornerShape(4.dp)),
contentScale = ContentScale.Crop,
)
MigratingManga.SearchResult.NotFound -> Column(
Modifier.widthIn(max = 150.dp)
.fillMaxWidth()
.padding(4.dp),
) {
Image(
painter = rememberResourceBitmapPainter(id = R.drawable.cover_error),
contentDescription = null,
modifier = Modifier
.fillMaxWidth()
.aspectRatio(MangaCover.Book.ratio)
.clip(RoundedCornerShape(4.dp)),
contentScale = ContentScale.Crop,
)
Text(
text = stringResource(R.string.no_alternatives_found),
modifier = Modifier.padding(top = 4.dp, bottom = 1.dp, start = 8.dp),
style = MaterialTheme.typography.titleSmall,
)
}
is MigratingManga.SearchResult.Result -> {
val item by produceState<Triple<Manga, MigratingManga.ChapterInfo, String>?>(
initialValue = null,