fix(common): allow custom tints for NetworkImage placeholders

This commit is contained in:
Harsh Shandilya 2023-08-15 15:37:23 +05:30
parent e06a8ba236
commit 67e621160f
No known key found for this signature in database

View file

@ -8,7 +8,9 @@ package dev.msfjarvis.claw.common.ui
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.RenderVectorGroup
import androidx.compose.ui.graphics.vector.rememberVectorPainter import androidx.compose.ui.graphics.vector.rememberVectorPainter
import coil.compose.AsyncImage import coil.compose.AsyncImage
@ -18,8 +20,20 @@ internal fun NetworkImage(
placeholder: ImageVector, placeholder: ImageVector,
contentDescription: String, contentDescription: String,
modifier: Modifier = Modifier, modifier: Modifier = Modifier,
placeholderTintColor: Color? = null,
) { ) {
val painter = rememberVectorPainter(placeholder) val painter =
rememberVectorPainter(
defaultHeight = placeholder.defaultHeight,
defaultWidth = placeholder.defaultWidth,
viewportWidth = placeholder.viewportWidth,
viewportHeight = placeholder.viewportHeight,
name = placeholder.name,
tintColor = placeholderTintColor ?: Color.Unspecified,
tintBlendMode = placeholder.tintBlendMode,
autoMirror = placeholder.autoMirror,
content = { _, _ -> RenderVectorGroup(group = placeholder.root) },
)
AsyncImage( AsyncImage(
model = url, model = url,
placeholder = painter, placeholder = painter,