fluxa/shared/src
KhooLy 16e8db04c1 Extend shared Catalog Home contract for TV: billboard, row metadata
Adds billboard/hero state, per-row cardLayout/isActionRow/topTenEnabled
flags, and an ItemFocused action to CatalogHomeUiState, keeping
CatalogItemUiModel itself unchanged (still no domain objects - Meta
stays out of anything a LazyRow/LazyColumn renders, since Stream/Meta
carry mutable fields that make Compose unable to skip recomposition).

AndroidCatalogHomeDataSource now populates these from HomeViewModel's
existing billboard/category state, and exposes resolveMeta(id, type)
as an Android-only boundary helper so navigation code can reconstruct
a full Meta for Screen.Detail/Screen.Player without it ever touching
the UI layer - same resolve-at-the-boundary pattern used for streams
in AndroidDetailDataSource.resolveStream().

Groundwork for migrating the Android TV Home screen off HomeViewModel
onto the same shared CatalogHomeStore mobile already uses; the TV
Compose screen itself is not yet rewired.
2026-07-14 13:14:03 +03:00
..
androidMain/kotlin/com/fluxa/app/shared Add shared remote image boundary 2026-07-13 16:00:50 +03:00
commonMain/kotlin/com/fluxa/app Extend shared Catalog Home contract for TV: billboard, row metadata 2026-07-14 13:14:03 +03:00
iosMain/kotlin/com/fluxa/app/shared Add shared Apple search flow 2026-07-13 17:39:50 +03:00