add backdrop images for credits to person details

This commit is contained in:
Owen LeJeune
2023-07-16 17:55:32 -04:00
parent e4a4c5acce
commit 07044fae96

View File

@@ -48,6 +48,8 @@ import com.owenlejeune.tvtime.R
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.DetailPerson import com.owenlejeune.tvtime.api.tmdb.api.v3.model.DetailPerson
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.DetailedMovie import com.owenlejeune.tvtime.api.tmdb.api.v3.model.DetailedMovie
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.DetailedTv import com.owenlejeune.tvtime.api.tmdb.api.v3.model.DetailedTv
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.Image
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.ImageCollection
import com.owenlejeune.tvtime.extensions.DateFormat import com.owenlejeune.tvtime.extensions.DateFormat
import com.owenlejeune.tvtime.extensions.combinedOnVisibilityChange import com.owenlejeune.tvtime.extensions.combinedOnVisibilityChange
import com.owenlejeune.tvtime.extensions.format import com.owenlejeune.tvtime.extensions.format
@@ -146,15 +148,25 @@ fun PersonDetailScreen(
modifier = Modifier modifier = Modifier
.background(color = MaterialTheme.colorScheme.background) .background(color = MaterialTheme.colorScheme.background)
.verticalScroll(state = rememberScrollState()) .verticalScroll(state = rememberScrollState())
.padding(bottom = 16.dp, start = 16.dp, end = 16.dp), .padding(bottom = 16.dp),
verticalArrangement = Arrangement.spacedBy(16.dp) verticalArrangement = Arrangement.spacedBy(16.dp)
) { ) {
val creditsMap = remember { mainViewModel.peopleCastMap }
val credits =
creditsMap[personId]?.map { Image(it.backdropPath ?: "", 0, 0) } ?: emptyList()
val imageCollection = ImageCollection(backdrops = credits, posters = emptyList())
DetailHeader( DetailHeader(
posterUrl = TmdbUtils.getFullPersonImagePath(person?.profilePath), posterUrl = TmdbUtils.getFullPersonImagePath(person?.profilePath),
posterContentDescription = person?.profilePath, posterContentDescription = person?.profilePath,
imageCollection = imageCollection,
elevation = 0.dp elevation = 0.dp
) )
Column(
modifier = Modifier
.padding(start = 16.dp, end = 16.dp),
verticalArrangement = Arrangement.spacedBy(16.dp)
) {
Text( Text(
text = person?.name ?: "", text = person?.name ?: "",
color = MaterialTheme.colorScheme.secondary, color = MaterialTheme.colorScheme.secondary,
@@ -183,6 +195,7 @@ fun PersonDetailScreen(
ImagesCard(id = personId, appNavController = appNavController) ImagesCard(id = personId, appNavController = appNavController)
} }
}
PullRefreshIndicator( PullRefreshIndicator(
refreshing = isRefreshing.value, refreshing = isRefreshing.value,