Replace empty `AuthorItem`'s picture with `Icons.Filled.Person`

Duplicated from `NewsResourceAuthors`.

Fixes #20
pull/21/head
Simon Marquis 2 years ago
parent ef42543b32
commit e5b2b22b03

@ -16,6 +16,7 @@
package com.google.samples.apps.nowinandroid.feature.foryou package com.google.samples.apps.nowinandroid.feature.foryou
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.Spacer
@ -28,6 +29,10 @@ import androidx.compose.foundation.lazy.LazyRow
import androidx.compose.foundation.lazy.items import androidx.compose.foundation.lazy.items
import androidx.compose.foundation.selection.toggleable import androidx.compose.foundation.selection.toggleable
import androidx.compose.foundation.shape.CircleShape import androidx.compose.foundation.shape.CircleShape
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Android
import androidx.compose.material.icons.filled.Person
import androidx.compose.material3.Icon
import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface import androidx.compose.material3.Surface
import androidx.compose.material3.Text import androidx.compose.material3.Text
@ -95,15 +100,29 @@ fun AuthorItem(
stateDescription = "$followDescription ${author.name}" stateDescription = "$followDescription ${author.name}"
} }
) { ) {
Box(modifier = Modifier.fillMaxWidth()) { Box(
AsyncImage( modifier = Modifier.fillMaxWidth(),
modifier = Modifier contentAlignment = Alignment.Center,
.size(48.dp) ) {
.clip(CircleShape), val authorImageModifier = Modifier
model = author.imageUrl, .size(48.dp)
contentScale = ContentScale.Fit, .clip(CircleShape)
contentDescription = null if (author.imageUrl.isEmpty()) {
) Icon(
modifier = authorImageModifier
.background(MaterialTheme.colorScheme.surface)
.padding(4.dp),
imageVector = Icons.Filled.Person,
contentDescription = null // decorative image
)
} else {
AsyncImage(
modifier = authorImageModifier,
model = author.imageUrl,
contentScale = ContentScale.Fit,
contentDescription = null
)
}
FollowButton( FollowButton(
following = following, following = following,
backgroundColor = MaterialTheme.colorScheme.surface, backgroundColor = MaterialTheme.colorScheme.surface,

Loading…
Cancel
Save