mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2025-10-06 22:53:34 +02:00
Fixes image resizes to 200x200 pixels to help with caching capabilities.
This commit is contained in:
@@ -16,7 +16,17 @@ import coil.compose.AsyncImagePainter
|
|||||||
import coil.compose.LocalImageLoader
|
import coil.compose.LocalImageLoader
|
||||||
import java.util.Base64
|
import java.util.Base64
|
||||||
|
|
||||||
data class ResizeImage(val url: String?, val size: Dp)
|
data class ResizeImage(val url: String?, val size: Dp) {
|
||||||
|
fun proxyUrl(): String? {
|
||||||
|
if (url == null) return null
|
||||||
|
|
||||||
|
// Fixes Image size to reduce pings to servers for each size used in the app
|
||||||
|
val imgPx = 200 // with(LocalDensity.current) { model.size.toPx().toInt() }
|
||||||
|
val base64 = Base64.getUrlEncoder().encodeToString(url.toByteArray())
|
||||||
|
|
||||||
|
return "https://d12fidohs5rlxk.cloudfront.net/preset:sharp/rs:fit:$imgPx:$imgPx:0/gravity:sm/$base64"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
@@ -40,7 +50,6 @@ fun AsyncImageProxy(
|
|||||||
AsyncImage(
|
AsyncImage(
|
||||||
model = model.url,
|
model = model.url,
|
||||||
contentDescription = contentDescription,
|
contentDescription = contentDescription,
|
||||||
imageLoader = LocalImageLoader.current,
|
|
||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
placeholder = placeholder,
|
placeholder = placeholder,
|
||||||
error = error,
|
error = error,
|
||||||
@@ -55,14 +64,9 @@ fun AsyncImageProxy(
|
|||||||
filterQuality = filterQuality
|
filterQuality = filterQuality
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
val imgPx = with(LocalDensity.current) { model.size.toPx().toInt() }
|
|
||||||
val base64 = Base64.getUrlEncoder().encodeToString(model.url.toByteArray())
|
|
||||||
val extension = model.url.split(".").lastOrNull()
|
|
||||||
|
|
||||||
AsyncImage(
|
AsyncImage(
|
||||||
model = "https://d12fidohs5rlxk.cloudfront.net/preset:sharp/rs:fit:$imgPx:$imgPx:0/gravity:sm/$base64",
|
model = model.proxyUrl(),
|
||||||
contentDescription = contentDescription,
|
contentDescription = contentDescription,
|
||||||
imageLoader = LocalImageLoader.current,
|
|
||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
placeholder = placeholder,
|
placeholder = placeholder,
|
||||||
error = error,
|
error = error,
|
||||||
|
Reference in New Issue
Block a user