mirror of
https://github.com/bbara04/Purefin.git
synced 2026-07-23 19:26:50 +00:00
Add keys to lazy Compose entries
This commit is contained in:
@@ -86,7 +86,7 @@ internal fun TvEpisodeScreenContent(
|
||||
resetScrollKey = episode.id,
|
||||
modifier = modifier
|
||||
) {
|
||||
item {
|
||||
item(key = "episode-hero") {
|
||||
TvMediaDetailBodyBox(
|
||||
backgroundImageUrl = ImageUrlBuilder.finishImageUrl(episode.imageUrlPrefix, ArtworkKind.PRIMARY),
|
||||
modifier = it
|
||||
@@ -101,7 +101,7 @@ internal fun TvEpisodeScreenContent(
|
||||
Spacer(modifier = Modifier.height(12.dp))
|
||||
}
|
||||
}
|
||||
item {
|
||||
item(key = "episode-overview") {
|
||||
Column(modifier = it.fillMaxWidth()) {
|
||||
Spacer(modifier = Modifier.height(16.dp))
|
||||
MediaDetailOverviewSection(
|
||||
@@ -111,7 +111,7 @@ internal fun TvEpisodeScreenContent(
|
||||
Spacer(modifier = Modifier.height(20.dp))
|
||||
}
|
||||
}
|
||||
item {
|
||||
item(key = "episode-playback") {
|
||||
Column(modifier = it.fillMaxWidth()) {
|
||||
MediaDetailPlaybackSection(
|
||||
audioTrack = "ENG",
|
||||
@@ -122,7 +122,7 @@ internal fun TvEpisodeScreenContent(
|
||||
}
|
||||
}
|
||||
if (episode.cast.isNotEmpty()) {
|
||||
item {
|
||||
item(key = "episode-cast") {
|
||||
Column(modifier = it.fillMaxWidth()) {
|
||||
MediaDetailSectionTitle(text = "Cast")
|
||||
Spacer(modifier = Modifier.height(14.dp))
|
||||
|
||||
@@ -84,11 +84,11 @@ fun TvHomeContent(
|
||||
.testTag(TvHomeContentViewportTag),
|
||||
contentPadding = contentPadding
|
||||
) {
|
||||
item {
|
||||
item(key = "tv-home-top-spacer") {
|
||||
Spacer(modifier = Modifier.height(8.dp))
|
||||
}
|
||||
if (hasContinueWatching) {
|
||||
item {
|
||||
item(key = "tv-home-continue-watching") {
|
||||
TvContinueWatchingSection(
|
||||
items = continueWatching,
|
||||
onFocusedItem = onMediaFocused,
|
||||
@@ -102,13 +102,13 @@ fun TvHomeContent(
|
||||
}
|
||||
|
||||
if (hasContinueWatching && (hasNextUp || hasLibraries)) {
|
||||
item {
|
||||
item(key = "tv-home-post-continue-gap") {
|
||||
Spacer(modifier = Modifier.height(20.dp))
|
||||
}
|
||||
}
|
||||
|
||||
if (hasNextUp) {
|
||||
item {
|
||||
item(key = "tv-home-next-up") {
|
||||
TvNextUpSection(
|
||||
items = nextUp,
|
||||
onFocusedItem = onMediaFocused,
|
||||
@@ -121,7 +121,7 @@ fun TvHomeContent(
|
||||
}
|
||||
|
||||
if (hasLibraries && (hasContinueWatching || hasNextUp)) {
|
||||
item {
|
||||
item(key = "tv-home-post-next-up-gap") {
|
||||
Spacer(modifier = Modifier.height(20.dp))
|
||||
}
|
||||
}
|
||||
@@ -156,7 +156,7 @@ fun TvHomeContent(
|
||||
}
|
||||
|
||||
if (hasVisibleContent) {
|
||||
item {
|
||||
item(key = "tv-home-trailing-space") {
|
||||
Spacer(modifier = Modifier.height(TvHomeBringIntoViewTrailingSpace))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -105,7 +105,7 @@ fun TvLibraryContent(
|
||||
verticalArrangement = Arrangement.spacedBy(16.dp),
|
||||
modifier = Modifier.background(MaterialTheme.colorScheme.background)
|
||||
) {
|
||||
items(libraryItems) { item ->
|
||||
items(libraryItems, key = { item -> item.id }) { item ->
|
||||
PosterCard(
|
||||
item = item,
|
||||
onMovieSelected = onMovieSelected,
|
||||
|
||||
@@ -64,7 +64,7 @@ internal fun TvMovieScreenContent(
|
||||
resetScrollKey = movie.id,
|
||||
modifier = modifier
|
||||
) {
|
||||
item {
|
||||
item(key = "movie-hero") {
|
||||
TvMediaDetailBodyBox(
|
||||
backgroundImageUrl = tvMediaDetailBackgroundImageUrl(movie.imageUrlPrefix),
|
||||
modifier = it
|
||||
@@ -78,7 +78,7 @@ internal fun TvMovieScreenContent(
|
||||
Spacer(modifier = Modifier.height(12.dp))
|
||||
}
|
||||
}
|
||||
item {
|
||||
item(key = "movie-overview") {
|
||||
Column(modifier = it.fillMaxWidth()) {
|
||||
Spacer(modifier = Modifier.height(16.dp))
|
||||
MediaDetailOverviewSection(
|
||||
@@ -88,7 +88,7 @@ internal fun TvMovieScreenContent(
|
||||
Spacer(modifier = Modifier.height(20.dp))
|
||||
}
|
||||
}
|
||||
item {
|
||||
item(key = "movie-playback") {
|
||||
Column(modifier = it.fillMaxWidth()) {
|
||||
MediaDetailPlaybackSection(
|
||||
audioTrack = movie.audioTrack,
|
||||
@@ -99,7 +99,7 @@ internal fun TvMovieScreenContent(
|
||||
}
|
||||
}
|
||||
if (movie.cast.isNotEmpty()) {
|
||||
item {
|
||||
item(key = "movie-cast") {
|
||||
Column(modifier = it.fillMaxWidth()) {
|
||||
MediaDetailSectionTitle(text = "Cast")
|
||||
Spacer(modifier = Modifier.height(14.dp))
|
||||
|
||||
@@ -81,7 +81,7 @@ internal fun TvSeriesScreenContent(
|
||||
resetScrollKey = series.id,
|
||||
modifier = modifier
|
||||
) {
|
||||
item {
|
||||
item(key = "series-hero") {
|
||||
TvMediaDetailBodyBox(
|
||||
backgroundImageUrl = tvMediaDetailBackgroundImageUrl(series.imageUrlPrefix),
|
||||
modifier = it
|
||||
@@ -97,7 +97,7 @@ internal fun TvSeriesScreenContent(
|
||||
Spacer(modifier = Modifier.height(12.dp))
|
||||
}
|
||||
}
|
||||
item {
|
||||
item(key = "series-overview") {
|
||||
Column(modifier = it.fillMaxWidth()) {
|
||||
Spacer(modifier = Modifier.height(16.dp))
|
||||
MediaDetailOverviewSection(
|
||||
@@ -107,7 +107,7 @@ internal fun TvSeriesScreenContent(
|
||||
Spacer(modifier = Modifier.height(24.dp))
|
||||
}
|
||||
}
|
||||
item {
|
||||
item(key = "series-season-tabs") {
|
||||
TvSeasonTabs(
|
||||
seasons = series.seasons,
|
||||
selectedSeason = selectedSeason,
|
||||
@@ -117,7 +117,7 @@ internal fun TvSeriesScreenContent(
|
||||
modifier = it
|
||||
)
|
||||
}
|
||||
item {
|
||||
item(key = "series-episodes") {
|
||||
Spacer(modifier = Modifier.height(20.dp))
|
||||
TvEpisodeCarousel(
|
||||
episodes = selectedSeason.episodes,
|
||||
@@ -125,7 +125,7 @@ internal fun TvSeriesScreenContent(
|
||||
)
|
||||
}
|
||||
if (series.cast.isNotEmpty()) {
|
||||
item {
|
||||
item(key = "series-cast") {
|
||||
Column(modifier = it) {
|
||||
Spacer(modifier = Modifier.height(20.dp))
|
||||
MediaDetailSectionTitle(text = "Cast")
|
||||
|
||||
@@ -171,7 +171,7 @@ internal fun TvEpisodeCarousel(episodes: List<Episode>, modifier: Modifier = Mod
|
||||
modifier = modifier,
|
||||
horizontalArrangement = Arrangement.spacedBy(16.dp)
|
||||
) {
|
||||
items(episodes) { episode ->
|
||||
items(episodes, key = { episode -> episode.id }) { episode ->
|
||||
TvEpisodeCard(episode = episode)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user