From 80deed419da63c0f4e31e258e297f49b1ae84635 Mon Sep 17 00:00:00 2001 From: rushiiMachine <33725716+rushiiMachine@users.noreply.github.com> Date: Fri, 28 Mar 2025 16:43:56 -0700 Subject: [PATCH] fix(AboutScreen): error ui for failed images --- .../manager/ui/components/Contributors.kt | 21 +++++++++++++----- .../about/components/LeadContributor.kt | 22 ++++++++++++++----- 2 files changed, 31 insertions(+), 12 deletions(-) diff --git a/app/src/main/kotlin/com/aliucord/manager/ui/components/Contributors.kt b/app/src/main/kotlin/com/aliucord/manager/ui/components/Contributors.kt index 868e902..3ddf44f 100644 --- a/app/src/main/kotlin/com/aliucord/manager/ui/components/Contributors.kt +++ b/app/src/main/kotlin/com/aliucord/manager/ui/components/Contributors.kt @@ -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) diff --git a/app/src/main/kotlin/com/aliucord/manager/ui/screens/about/components/LeadContributor.kt b/app/src/main/kotlin/com/aliucord/manager/ui/screens/about/components/LeadContributor.kt index d14187d..1bf9807 100644 --- a/app/src/main/kotlin/com/aliucord/manager/ui/screens/about/components/LeadContributor.kt +++ b/app/src/main/kotlin/com/aliucord/manager/ui/screens/about/components/LeadContributor.kt @@ -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(