diff --git a/core/designsystem/src/commonMain/kotlin/club/nito/core/designsystem/icon/NitoIcons.kt b/core/designsystem/src/commonMain/kotlin/club/nito/core/designsystem/icon/NitoIcons.kt index 1d2c38df..86cd1f92 100644 --- a/core/designsystem/src/commonMain/kotlin/club/nito/core/designsystem/icon/NitoIcons.kt +++ b/core/designsystem/src/commonMain/kotlin/club/nito/core/designsystem/icon/NitoIcons.kt @@ -1,11 +1,13 @@ package club.nito.core.designsystem.icon import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.AccountCircle import androidx.compose.material.icons.filled.Visibility import androidx.compose.material.icons.filled.VisibilityOff import androidx.compose.ui.graphics.vector.ImageVector public object NitoIcons { + public val AccountCircle: ImageVector = Icons.Filled.AccountCircle public val Visibility: ImageVector = Icons.Filled.Visibility public val VisibilityOff: ImageVector = Icons.Filled.VisibilityOff } diff --git a/core/ui/src/commonMain/kotlin/club/nito/core/ui/ProfileImage.kt b/core/ui/src/commonMain/kotlin/club/nito/core/ui/ProfileImage.kt index ff6e69d2..d1d2edbb 100644 --- a/core/ui/src/commonMain/kotlin/club/nito/core/ui/ProfileImage.kt +++ b/core/ui/src/commonMain/kotlin/club/nito/core/ui/ProfileImage.kt @@ -2,10 +2,12 @@ package club.nito.core.ui import androidx.compose.foundation.Image import androidx.compose.foundation.shape.CircleShape +import androidx.compose.material3.Icon import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.layout.ContentScale +import club.nito.core.designsystem.icon.NitoIcons import club.nito.core.model.UserProfile import com.seiko.imageloader.rememberImagePainter @@ -14,12 +16,20 @@ public fun ProfileImage( profile: UserProfile, modifier: Modifier = Modifier, ) { - Image( - painter = rememberImagePainter( - url = profile.avatarUrl, - ), - contentDescription = profile.displayName, - contentScale = ContentScale.Crop, - modifier = modifier.clip(CircleShape), - ) + if (profile.avatarUrl.isNotBlank()) { + Image( + painter = rememberImagePainter( + url = profile.avatarUrl, + ), + contentDescription = profile.displayName, + contentScale = ContentScale.Crop, + modifier = modifier.clip(CircleShape), + ) + } else { + Icon( + imageVector = NitoIcons.AccountCircle, + contentDescription = profile.displayName, + modifier = modifier, + ) + } }