fix(AboutScreen): error ui for failed images

This commit is contained in:
rushiiMachine 2025-03-28 16:43:56 -07:00
parent bb876526d0
commit 80deed419d
No known key found for this signature in database
GPG key ID: DCBE5952BB3B6420
2 changed files with 31 additions and 12 deletions

View file

@ -8,8 +8,7 @@ package com.aliucord.manager.ui.components
import androidx.compose.foundation.clickable import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.* import androidx.compose.foundation.layout.*
import androidx.compose.foundation.shape.CircleShape import androidx.compose.foundation.shape.CircleShape
import androidx.compose.material3.MaterialTheme import androidx.compose.material3.*
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip import androidx.compose.ui.draw.clip
@ -17,9 +16,10 @@ import androidx.compose.ui.platform.LocalUriHandler
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.font.FontStyle import androidx.compose.ui.text.font.FontStyle
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import coil3.compose.AsyncImage import coil3.compose.SubcomposeAsyncImage
import com.aliucord.manager.R import com.aliucord.manager.R
import com.aliucord.manager.network.models.Contributor import com.aliucord.manager.network.models.Contributor
import com.valentinilk.shimmer.shimmer
@Composable @Composable
fun ContributorCommitsItem( fun ContributorCommitsItem(
@ -32,13 +32,22 @@ fun ContributorCommitsItem(
horizontalArrangement = Arrangement.spacedBy(16.dp), horizontalArrangement = Arrangement.spacedBy(16.dp),
modifier = modifier modifier = modifier
.clickable { uriHandler.openUri("https://github.com/${user.username}") } .clickable { uriHandler.openUri("https://github.com/${user.username}") }
.padding(horizontal = 16.dp, vertical = 10.dp) .padding(horizontal = 16.dp, vertical = 8.dp)
.fillMaxWidth(), .fillMaxWidth(),
) { ) {
AsyncImage( SubcomposeAsyncImage(
model = user.avatarUrl, model = user.avatarUrl,
contentDescription = user.username, contentDescription = user.username,
Modifier error = {
Surface(
content = {},
tonalElevation = 2.dp,
modifier = Modifier
.fillMaxSize()
.shimmer(),
)
},
modifier = Modifier
.padding(top = 6.dp) .padding(top = 6.dp)
.size(45.dp) .size(45.dp)
.clip(CircleShape) .clip(CircleShape)

View file

@ -13,7 +13,8 @@ import androidx.compose.ui.draw.clip
import androidx.compose.ui.platform.LocalUriHandler import androidx.compose.ui.platform.LocalUriHandler
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp import androidx.compose.ui.unit.sp
import coil3.compose.AsyncImage import coil3.compose.SubcomposeAsyncImage
import com.valentinilk.shimmer.shimmer
@Composable @Composable
fun LeadContributor( fun LeadContributor(
@ -35,12 +36,21 @@ fun LeadContributor(
) )
.widthIn(min = 100.dp) .widthIn(min = 100.dp)
) { ) {
AsyncImage( SubcomposeAsyncImage(
modifier = Modifier
.size(71.dp)
.clip(CircleShape),
model = "https://github.com/$username.png", model = "https://github.com/$username.png",
contentDescription = username contentDescription = username,
error = {
Surface(
content = {},
tonalElevation = 2.dp,
modifier = Modifier
.fillMaxSize()
.shimmer(),
)
},
modifier = Modifier
.size(80.dp)
.clip(CircleShape),
) )
Column( Column(