diff --git a/app/src/main/java/com/hippo/ehviewer/ui/widget/EhThumbAsyncImage.kt b/app/src/main/java/com/hippo/ehviewer/ui/widget/EhThumbAsyncImage.kt new file mode 100644 index 000000000..9d4a59cd3 --- /dev/null +++ b/app/src/main/java/com/hippo/ehviewer/ui/widget/EhThumbAsyncImage.kt @@ -0,0 +1,30 @@ +package com.hippo.ehviewer.ui.widget + +import androidx.compose.runtime.Composable +import androidx.compose.runtime.ReadOnlyComposable +import androidx.compose.ui.Modifier +import androidx.compose.ui.layout.ContentScale +import androidx.compose.ui.platform.LocalContext +import coil.compose.AsyncImage +import coil.request.ImageRequest +import com.hippo.ehviewer.coil.ehUrl + +@Composable +@ReadOnlyComposable +fun requestOf(model: String?): ImageRequest { + return ImageRequest.Builder(LocalContext.current).apply { + model?.let { ehUrl(it) } + }.build() +} + +@Composable +fun EhThumbAsyncImage( + model: String?, + modifier: Modifier = Modifier, + contentScale: ContentScale = ContentScale.Fit, +) = AsyncImage( + model = requestOf(model), + contentDescription = "", + modifier = modifier, + contentScale = contentScale, +) diff --git a/app/src/main/java/com/hippo/ehviewer/ui/widget/GalleryInfoCard.kt b/app/src/main/java/com/hippo/ehviewer/ui/widget/GalleryInfoCard.kt index 05f81355e..72a017dad 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/widget/GalleryInfoCard.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/widget/GalleryInfoCard.kt @@ -21,17 +21,14 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.layout.ContentScale -import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.painterResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp -import coil.compose.AsyncImage import com.hippo.ehviewer.R import com.hippo.ehviewer.Settings import com.hippo.ehviewer.client.EhUtils import com.hippo.ehviewer.client.data.GalleryInfo -import com.hippo.ehviewer.coil.imageRequest import com.hippo.ehviewer.download.DownloadManager import eu.kanade.tachiyomi.util.system.pxToDp import java.util.Locale @@ -59,11 +56,8 @@ fun ListInfoCard( ), ) { Card { - AsyncImage( - model = info.thumb?.let { - LocalContext.current.imageRequest(it) - }, - contentDescription = "", + EhThumbAsyncImage( + model = info.thumb, contentScale = ContentScale.Crop, modifier = Modifier .width((listCardSize * 2).dp)