mirror of
https://github.com/tapframe/NuvioStreaming.git
synced 2026-05-17 15:32:01 +00:00
ref: homescreen now treats collections as a valid content
This commit is contained in:
parent
b3a1589296
commit
c477e7e217
2 changed files with 19 additions and 3 deletions
|
|
@ -404,6 +404,11 @@ fun HomeScreen(
|
|||
val enabledHomeItems = remember(homeSettingsUiState.items) {
|
||||
homeSettingsUiState.items.filter { it.enabled }
|
||||
}
|
||||
val hasRenderableCollectionRows = remember(enabledHomeItems, collectionsMap) {
|
||||
enabledHomeItems.any { item ->
|
||||
item.isCollection && collectionsMap[item.key] != null
|
||||
}
|
||||
}
|
||||
|
||||
BoxWithConstraints(modifier = modifier.fillMaxSize()) {
|
||||
val homeSectionPadding = homeSectionHorizontalPaddingForWidth(maxWidth.value)
|
||||
|
|
@ -466,7 +471,7 @@ fun HomeScreen(
|
|||
}
|
||||
|
||||
when {
|
||||
addonsUiState.addons.none { it.manifest != null } -> {
|
||||
addonsUiState.addons.none { it.manifest != null } && !hasRenderableCollectionRows -> {
|
||||
if (continueWatchingPreferences.isVisible && continueWatchingItems.isNotEmpty()) {
|
||||
item {
|
||||
HomeContinueWatchingSection(
|
||||
|
|
@ -491,7 +496,7 @@ fun HomeScreen(
|
|||
}
|
||||
}
|
||||
|
||||
homeUiState.isLoading && homeUiState.sections.isEmpty() -> {
|
||||
homeUiState.isLoading && homeUiState.sections.isEmpty() && !hasRenderableCollectionRows -> {
|
||||
if (continueWatchingPreferences.isVisible && continueWatchingItems.isNotEmpty()) {
|
||||
item {
|
||||
HomeContinueWatchingSection(
|
||||
|
|
@ -513,7 +518,8 @@ fun HomeScreen(
|
|||
}
|
||||
|
||||
homeUiState.sections.isEmpty() && homeUiState.heroItems.isEmpty() &&
|
||||
(!continueWatchingPreferences.isVisible || continueWatchingItems.isEmpty()) -> {
|
||||
(!continueWatchingPreferences.isVisible || continueWatchingItems.isEmpty()) &&
|
||||
!hasRenderableCollectionRows -> {
|
||||
item {
|
||||
if (networkStatusUiState.isOfflineLike) {
|
||||
NuvioNetworkOfflineCard(
|
||||
|
|
|
|||
|
|
@ -58,6 +58,7 @@ import com.nuvio.app.features.details.MetaScreenSettingsRepository
|
|||
import com.nuvio.app.features.details.MetaScreenSettingsUiState
|
||||
import com.nuvio.app.core.ui.PosterCardStyleRepository
|
||||
import com.nuvio.app.core.ui.PosterCardStyleUiState
|
||||
import com.nuvio.app.features.collection.CollectionRepository
|
||||
import com.nuvio.app.features.home.HomeCatalogSettingsItem
|
||||
import com.nuvio.app.features.home.HomeCatalogSettingsRepository
|
||||
import com.nuvio.app.features.mdblist.MdbListSettings
|
||||
|
|
@ -160,6 +161,7 @@ fun SettingsScreen(
|
|||
HomeCatalogSettingsRepository.snapshot()
|
||||
HomeCatalogSettingsRepository.uiState
|
||||
}.collectAsStateWithLifecycle()
|
||||
val collections by CollectionRepository.collections.collectAsStateWithLifecycle()
|
||||
val metaScreenSettingsUiState by remember {
|
||||
MetaScreenSettingsRepository.ensureLoaded()
|
||||
MetaScreenSettingsRepository.uiState
|
||||
|
|
@ -182,6 +184,14 @@ fun SettingsScreen(
|
|||
HomeCatalogSettingsRepository.syncCatalogs(addonsUiState.addons)
|
||||
}
|
||||
|
||||
LaunchedEffect(Unit) {
|
||||
CollectionRepository.initialize()
|
||||
}
|
||||
|
||||
LaunchedEffect(collections) {
|
||||
HomeCatalogSettingsRepository.syncCollections(collections)
|
||||
}
|
||||
|
||||
var currentPage by rememberSaveable { mutableStateOf(SettingsPage.Root.name) }
|
||||
val page = remember(currentPage) { SettingsPage.valueOf(currentPage) }
|
||||
val previousPage = page.previousPage()
|
||||
|
|
|
|||
Loading…
Reference in a new issue