@@ -31,6 +31,7 @@ import androidx.compose.material3.Surface
3131import androidx.compose.runtime.Composable
3232import androidx.compose.runtime.getValue
3333import androidx.compose.runtime.mutableStateOf
34+ import androidx.compose.runtime.remember
3435import androidx.compose.runtime.saveable.rememberSaveable
3536import androidx.compose.runtime.setValue
3637import androidx.compose.ui.Alignment
@@ -46,6 +47,7 @@ import coil3.compose.AsyncImage
4647import coil3.request.ImageRequest
4748import coil3.request.crossfade
4849import com.infomaniak.core.avatar.getBackgroundColorResBasedOnId
50+ import com.infomaniak.core.coil.ImageLoaderProvider
4951import com.infomaniak.core.useravatar.AvatarData
5052import com.infomaniak.core.useravatar.AvatarDisplayState
5153import com.infomaniak.core.useravatar.component.InitialsTextAvatar
@@ -71,14 +73,17 @@ fun UserAvatar(modifier: Modifier = Modifier, avatarData: AvatarData, border: Bo
7173 AvatarDisplayState .Initials -> InitialsTextAvatar (avatarData)
7274 AvatarDisplayState .UnknownUser -> UnknownUserIcon (avatarData.iconColor)
7375 AvatarDisplayState .Avatar -> {
74- val imageRequest = ImageRequest .Builder (LocalContext .current)
76+ val context = LocalContext .current
77+ val unauthenticatedImageLoader = remember(context) { ImageLoaderProvider .newImageLoader(context) }
78+ val imageRequest = ImageRequest .Builder (context )
7579 .data(avatarData.uri)
7680 .crossfade(true )
7781 .build()
7882
7983 AsyncImage (
8084 model = imageRequest,
8185 contentDescription = null ,
86+ imageLoader = unauthenticatedImageLoader,
8287 contentScale = ContentScale .Crop ,
8388 onError = { avatarDisplayState = computeAvatarState(avatarData, hasLoadingFailed = true ) },
8489 )
0 commit comments