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

Duplicated from `NewsResourceAuthors`.

Fixes #20
pull/1837/head
Simon Marquis 3 years ago
parent b3cf9050bb
commit 4049c54afc

@ -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