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

View file

@ -13,7 +13,8 @@ import androidx.compose.ui.draw.clip
import androidx.compose.ui.platform.LocalUriHandler
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import coil3.compose.AsyncImage
import coil3.compose.SubcomposeAsyncImage
import com.valentinilk.shimmer.shimmer
@Composable
fun LeadContributor(
@ -35,12 +36,21 @@ fun LeadContributor(
)
.widthIn(min = 100.dp)
) {
AsyncImage(
modifier = Modifier
.size(71.dp)
.clip(CircleShape),
SubcomposeAsyncImage(
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(