From 5595a15820792fea030a10c04d0aee54133da8de Mon Sep 17 00:00:00 2001 From: Barnabas Balogh Date: Wed, 29 Apr 2026 17:40:51 +0200 Subject: [PATCH] refactor: replace HomeNavItem with LibraryUiModel in LibrariesScreen and related components --- .../java/hu/bbara/purefin/ui/screen/AppScreen.kt | 13 ++----------- .../purefin/ui/screen/libraries/LibrariesScreen.kt | 6 +++--- .../screen/libraries/components/LibrariesContent.kt | 8 ++++---- .../screen/libraries/components/LibraryListItem.kt | 10 +++++----- 4 files changed, 14 insertions(+), 23 deletions(-) diff --git a/app/src/main/java/hu/bbara/purefin/ui/screen/AppScreen.kt b/app/src/main/java/hu/bbara/purefin/ui/screen/AppScreen.kt index 5049ac85..78460863 100644 --- a/app/src/main/java/hu/bbara/purefin/ui/screen/AppScreen.kt +++ b/app/src/main/java/hu/bbara/purefin/ui/screen/AppScreen.kt @@ -22,7 +22,6 @@ import hu.bbara.purefin.feature.browse.home.AppViewModel import hu.bbara.purefin.navigation.LocalNavigationManager import hu.bbara.purefin.ui.screen.download.DownloadsScreen import hu.bbara.purefin.ui.screen.home.HomeScreen -import hu.bbara.purefin.ui.screen.home.components.HomeNavItem import hu.bbara.purefin.ui.screen.libraries.LibrariesScreen import kotlinx.serialization.Serializable @@ -44,14 +43,6 @@ fun AppScreen( val currentRoute = backStack.lastOrNull() ?: AppTabRoute.Home val selectedTab = currentRoute.toTabIndex() - val libraryNavItems = libraries.map { - HomeNavItem( - id = it.id, - label = it.name, - posterUrl = it.posterUrl - ) - } - LifecycleResumeEffect(Unit) { viewModel.onResumed() onPauseOrDispose { } @@ -93,8 +84,8 @@ fun AppScreen( } entry(metadata = appTabMetadata(AppTabRoute.Libraries)) { LibrariesScreen( - items = libraryNavItems, - onLibrarySelected = { item -> viewModel.onLibrarySelected(item.id, item.label) }, + items = libraries, + onLibrarySelected = { item -> viewModel.onLibrarySelected(item.id, item.name) }, selectedTab = selectedTab, onTabSelected = onTabSelected, modifier = Modifier.fillMaxSize() diff --git a/app/src/main/java/hu/bbara/purefin/ui/screen/libraries/LibrariesScreen.kt b/app/src/main/java/hu/bbara/purefin/ui/screen/libraries/LibrariesScreen.kt index e1949dcd..67a0dd3a 100644 --- a/app/src/main/java/hu/bbara/purefin/ui/screen/libraries/LibrariesScreen.kt +++ b/app/src/main/java/hu/bbara/purefin/ui/screen/libraries/LibrariesScreen.kt @@ -6,15 +6,15 @@ import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Scaffold import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier +import hu.bbara.purefin.ui.model.LibraryUiModel import hu.bbara.purefin.ui.screen.AppBottomBar -import hu.bbara.purefin.ui.screen.home.components.HomeNavItem import hu.bbara.purefin.ui.screen.libraries.components.LibrariesContent import hu.bbara.purefin.ui.screen.library.components.LibraryTopBar @Composable fun LibrariesScreen( - items: List, - onLibrarySelected: (HomeNavItem) -> Unit, + items: List, + onLibrarySelected: (LibraryUiModel) -> Unit, selectedTab: Int, onTabSelected: (Int) -> Unit, modifier: Modifier = Modifier diff --git a/app/src/main/java/hu/bbara/purefin/ui/screen/libraries/components/LibrariesContent.kt b/app/src/main/java/hu/bbara/purefin/ui/screen/libraries/components/LibrariesContent.kt index 699ec209..e680bb5f 100644 --- a/app/src/main/java/hu/bbara/purefin/ui/screen/libraries/components/LibrariesContent.kt +++ b/app/src/main/java/hu/bbara/purefin/ui/screen/libraries/components/LibrariesContent.kt @@ -9,12 +9,12 @@ import androidx.compose.foundation.lazy.grid.items import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import hu.bbara.purefin.ui.screen.home.components.HomeNavItem +import hu.bbara.purefin.ui.model.LibraryUiModel @Composable fun LibrariesContent( - items: List, - onLibrarySelected: (HomeNavItem) -> Unit, + items: List, + onLibrarySelected: (LibraryUiModel) -> Unit, modifier: Modifier = Modifier, ) { LazyVerticalGrid( @@ -26,7 +26,7 @@ fun LibrariesContent( ) { items(items, key = { it.id }) { item -> LibraryListItem( - item = item, + uiModel = item, modifier = Modifier.clickable { onLibrarySelected(item) } diff --git a/app/src/main/java/hu/bbara/purefin/ui/screen/libraries/components/LibraryListItem.kt b/app/src/main/java/hu/bbara/purefin/ui/screen/libraries/components/LibraryListItem.kt index 468a86cc..b8dfa0f6 100644 --- a/app/src/main/java/hu/bbara/purefin/ui/screen/libraries/components/LibraryListItem.kt +++ b/app/src/main/java/hu/bbara/purefin/ui/screen/libraries/components/LibraryListItem.kt @@ -11,18 +11,18 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.unit.dp -import hu.bbara.purefin.ui.screen.home.components.HomeNavItem import hu.bbara.purefin.ui.common.image.PurefinAsyncImage +import hu.bbara.purefin.ui.model.LibraryUiModel @Composable fun LibraryListItem( - item: HomeNavItem, + uiModel: LibraryUiModel, modifier: Modifier = Modifier ) { Column(modifier = modifier.fillMaxWidth()) { PurefinAsyncImage( - model = item.posterUrl, - contentDescription = item.label, + model = uiModel.posterUrl, + contentDescription = uiModel.name, contentScale = ContentScale.Inside, modifier = Modifier .fillMaxWidth() @@ -30,7 +30,7 @@ fun LibraryListItem( .clip(RoundedCornerShape(24.dp)) ) Text( - text = item.label, + text = uiModel.name, style = MaterialTheme.typography.displaySmall ) }