diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeParentItemAdapterPreview.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeParentItemAdapterPreview.kt index c0a6fcc34b5..2f070d6f5a1 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeParentItemAdapterPreview.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeParentItemAdapterPreview.kt @@ -344,6 +344,41 @@ class HomeParentItemAdapterPreview( homePreviewDescription.text = item.plot?.html() ?: "" + homePreviewDescription.text = + item.plot?.html() ?: "" + + homePreviewScore.text = item.score?.let { score -> + homePreviewScore.context.getString(R.string.extension_rating, score.toString()) + } ?: "" + + item.score?.toString()?.toDoubleOrNull()?.let { rating -> + val color = when { + rating < 5.0 -> android.graphics.Color.parseColor("#eb2f2f") // Red + rating < 8.0 -> android.graphics.Color.parseColor("#eda009") // Yellow + else -> android.graphics.Color.parseColor("#3bb33b") // Green + } + homePreviewScore.backgroundTintList = android.content.res.ColorStateList.valueOf(color) + homePreviewScore.setTextColor(android.graphics.Color.WHITE) + } + + homePreviewScore.isGone = item.score == null + + homePreviewYear.text = item.year?.toString() ?: "" + homePreviewYear.isGone = item.year == null + + homePreviewDuration.text = item.duration?.let { min -> + homePreviewDuration.context.getString(R.string.duration_format, min) + } ?: "" + homePreviewDuration.isGone = item.duration == null + + val castText = item.actors?.take(3)?.mapNotNull { it.actor.name }?.joinToString(", ") + if (!castText.isNullOrBlank()) { + homePreviewCast.text = homePreviewCast.context.getString(R.string.cast_format, castText) + homePreviewCast.isVisible = true + } else { + homePreviewCast.isVisible = false + } + homePreviewText.text = item.name.html() populateChips( homePreviewTags, @@ -646,6 +681,12 @@ class HomeParentItemAdapterPreview( (binding as? FragmentHomeHeadTvBinding)?.apply { homePreviewInfoBtt.isVisible = true } + // Explicitly bind the current item to ensure instant loading + val currentPos = previewViewpager.currentItem + val item = preview.value.second.getOrNull(currentPos) + if (item != null) { + onSelect(item, currentPos) + } } else -> { diff --git a/app/src/main/res/drawable/bg_imdb_badge.xml b/app/src/main/res/drawable/bg_imdb_badge.xml new file mode 100644 index 00000000000..de7a6704b5c --- /dev/null +++ b/app/src/main/res/drawable/bg_imdb_badge.xml @@ -0,0 +1,11 @@ + + + + + + diff --git a/app/src/main/res/drawable/player_gradient_tv.xml b/app/src/main/res/drawable/player_gradient_tv.xml index 79bb3af5fe3..8077b418fbe 100644 --- a/app/src/main/res/drawable/player_gradient_tv.xml +++ b/app/src/main/res/drawable/player_gradient_tv.xml @@ -4,10 +4,10 @@ @@ -15,10 +15,10 @@ diff --git a/app/src/main/res/drawable/rating_bg_color.xml b/app/src/main/res/drawable/rating_bg_color.xml index 3ae9b4f84ca..4cf33aba0e9 100644 --- a/app/src/main/res/drawable/rating_bg_color.xml +++ b/app/src/main/res/drawable/rating_bg_color.xml @@ -1,6 +1,6 @@ - + diff --git a/app/src/main/res/layout/dialog_online_subtitles.xml b/app/src/main/res/layout/dialog_online_subtitles.xml index cda099a0cba..48dc48a049d 100644 --- a/app/src/main/res/layout/dialog_online_subtitles.xml +++ b/app/src/main/res/layout/dialog_online_subtitles.xml @@ -22,6 +22,8 @@ android:orientation="vertical"> + + android:padding="20dp"> + + + + + + + + + + + + + android:layout_height="match_parent" + android:background="#000000" + android:alpha="0.6" /> + + \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 74ce5c258ab..48b69232abe 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -21,6 +21,8 @@ #FFF #000 + #EEEEEE + #BDBDBD #FFF #000 @@ -35,6 +37,7 @@ #F53B66 #BEC8FF #3700B3 +