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
+