refactor: remove explicit calls to rememberVectorPainter

This commit is contained in:
Harsh Shandilya 2023-06-04 21:47:34 +05:30
parent 5e7b79eb89
commit c6ea1182e0
7 changed files with 25 additions and 30 deletions

View file

@ -30,7 +30,6 @@ import androidx.compose.runtime.getValue
import androidx.compose.runtime.produceState
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.vector.rememberVectorPainter
import androidx.compose.ui.platform.LocalUriHandler
import androidx.compose.ui.text.AnnotatedString
import androidx.compose.ui.text.SpanStyle
@ -116,7 +115,7 @@ private fun PostLink(
Row(modifier = Modifier.padding(16.dp), horizontalArrangement = Arrangement.spacedBy(8.dp)) {
NetworkImage(
url = linkMetadata.faviconUrl,
placeholder = rememberVectorPainter(Icons.Filled.Public),
placeholder = Icons.Filled.Public,
contentDescription = "",
modifier = Modifier.size(24.dp),
)

View file

@ -46,7 +46,6 @@ import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.vector.rememberVectorPainter
import androidx.compose.ui.semantics.Role
import androidx.compose.ui.text.AnnotatedString
import androidx.compose.ui.text.font.FontWeight
@ -154,7 +153,7 @@ internal fun Submitter(
) {
NetworkImage(
url = avatarUrl,
placeholder = rememberVectorPainter(Icons.Filled.AccountCircle),
placeholder = Icons.Filled.AccountCircle,
contentDescription = contentDescription,
modifier = Modifier.requiredSize(24.dp).clip(CircleShape),
)
@ -171,10 +170,7 @@ private fun SaveButton(
Crossfade(targetState = isSaved, label = "save-button") { saved ->
Box(modifier = modifier.padding(12.dp)) {
Icon(
painter =
rememberVectorPainter(
if (saved) Icons.Filled.Favorite else Icons.Outlined.FavoriteBorder
),
imageVector = if (saved) Icons.Filled.Favorite else Icons.Outlined.FavoriteBorder,
tint = MaterialTheme.colorScheme.secondary,
contentDescription = if (saved) "Remove from saved posts" else "Add to saved posts",
modifier = Modifier.align(Alignment.Center),
@ -207,7 +203,7 @@ private fun CommentsButton(
},
) {
Icon(
painter = rememberVectorPainter(Icons.Outlined.Comment),
imageVector = Icons.Outlined.Comment,
tint = MaterialTheme.colorScheme.secondary,
contentDescription = "Open comments",
modifier = Modifier.align(Alignment.Center),

View file

@ -1,5 +1,5 @@
/*
* Copyright © 2021-2022 Harsh Shandilya.
* Copyright © 2021-2023 Harsh Shandilya.
* Use of this source code is governed by an MIT-style
* license that can be found in the LICENSE file or at
* https://opensource.org/licenses/MIT.
@ -8,21 +8,23 @@ package dev.msfjarvis.claw.common.ui
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.painter.Painter
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.rememberVectorPainter
import coil.compose.AsyncImage
@Composable
internal fun NetworkImage(
url: String?,
placeholder: Painter,
placeholder: ImageVector,
contentDescription: String,
modifier: Modifier = Modifier,
) {
val painter = rememberVectorPainter(placeholder)
AsyncImage(
model = url,
placeholder = placeholder,
error = placeholder,
fallback = placeholder,
placeholder = painter,
error = painter,
fallback = painter,
contentDescription = contentDescription,
modifier = modifier,
)

View file

@ -24,7 +24,6 @@ import androidx.compose.runtime.produceState
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.vector.rememberVectorPainter
import androidx.compose.ui.unit.dp
import dev.msfjarvis.claw.common.NetworkState
import dev.msfjarvis.claw.common.NetworkState.Error
@ -92,7 +91,7 @@ private fun UserProfileInternal(
) {
NetworkImage(
url = "https://lobste.rs/${user.avatarUrl}",
placeholder = rememberVectorPainter(Icons.Filled.AccountCircle),
placeholder = Icons.Filled.AccountCircle,
contentDescription = "Avatar of ${user.username}",
modifier = Modifier.requiredSize(120.dp).clip(CircleShape),
)