From eaef1fb4eb4065d7d3479cc85178962f37f91967 Mon Sep 17 00:00:00 2001
From: KhooLy <73142442+KhooLy@users.noreply.github.com>
Date: Sun, 19 Jul 2026 17:12:37 +0300
Subject: [PATCH] Thread trailer URL from detail state into DetailUiModel
Adds trailerUrl to DetailUiState and DetailUiModel so the detail
screen's data source can pass the resolved trailer through, and
adds the missing HeroPageChanged branch to CatalogHomeStore's
no-op action list.
---
.../java/com/fluxa/app/ui/catalog/AndroidDetailDataSource.kt | 1 +
.../commonMain/kotlin/com/fluxa/app/ui/catalog/DetailUiState.kt | 1 +
.../com/fluxa/app/shared/feature/catalog/CatalogHomeStore.kt | 1 +
.../com/fluxa/app/shared/feature/detail/DetailContracts.kt | 1 +
4 files changed, 4 insertions(+)
diff --git a/app/src/main/java/com/fluxa/app/ui/catalog/AndroidDetailDataSource.kt b/app/src/main/java/com/fluxa/app/ui/catalog/AndroidDetailDataSource.kt
index 24ce1da..cded314 100644
--- a/app/src/main/java/com/fluxa/app/ui/catalog/AndroidDetailDataSource.kt
+++ b/app/src/main/java/com/fluxa/app/ui/catalog/AndroidDetailDataSource.kt
@@ -52,6 +52,7 @@ class AndroidDetailDataSource(
posterUrl = detail.poster,
backgroundUrl = detail.background,
logoUrl = detail.logo,
+ trailerUrl = state.trailerUrl,
releaseLabel = detail.releaseInfo.orEmpty(),
ratingLabel = detail.imdbRating.orEmpty(),
runtimeLabel = detail.runtime,
diff --git a/data/src/commonMain/kotlin/com/fluxa/app/ui/catalog/DetailUiState.kt b/data/src/commonMain/kotlin/com/fluxa/app/ui/catalog/DetailUiState.kt
index d988be0..7462758 100644
--- a/data/src/commonMain/kotlin/com/fluxa/app/ui/catalog/DetailUiState.kt
+++ b/data/src/commonMain/kotlin/com/fluxa/app/ui/catalog/DetailUiState.kt
@@ -26,5 +26,6 @@ data class DetailUiState(
val savedPlayback: Meta? = null,
val similarItems: List = emptyList(),
val trailers: List = emptyList(),
+ val trailerUrl: String? = null,
val userAddons: List = emptyList()
)
diff --git a/shared/src/commonMain/kotlin/com/fluxa/app/shared/feature/catalog/CatalogHomeStore.kt b/shared/src/commonMain/kotlin/com/fluxa/app/shared/feature/catalog/CatalogHomeStore.kt
index ea57f9b..2f5c3da 100644
--- a/shared/src/commonMain/kotlin/com/fluxa/app/shared/feature/catalog/CatalogHomeStore.kt
+++ b/shared/src/commonMain/kotlin/com/fluxa/app/shared/feature/catalog/CatalogHomeStore.kt
@@ -21,6 +21,7 @@ class CatalogHomeStore(
is CatalogAction.PlayRequested,
is CatalogAction.ResumeRequested,
is CatalogAction.ItemFocused,
+ is CatalogAction.HeroPageChanged,
is CatalogAction.MarkWatchedRequested,
is CatalogAction.DropRequested,
is CatalogAction.AddToLibraryRequested -> Unit
diff --git a/shared/src/commonMain/kotlin/com/fluxa/app/shared/feature/detail/DetailContracts.kt b/shared/src/commonMain/kotlin/com/fluxa/app/shared/feature/detail/DetailContracts.kt
index 22cac74..93828b7 100644
--- a/shared/src/commonMain/kotlin/com/fluxa/app/shared/feature/detail/DetailContracts.kt
+++ b/shared/src/commonMain/kotlin/com/fluxa/app/shared/feature/detail/DetailContracts.kt
@@ -48,6 +48,7 @@ data class DetailUiModel(
val posterUrl: String?,
val backgroundUrl: String?,
val logoUrl: String?,
+ val trailerUrl: String? = null,
val releaseLabel: String,
val ratingLabel: String,
val runtimeLabel: String?,