refactor: replace HomeNavItem with LibraryUiModel in LibrariesScreen and related components

This commit is contained in:
2026-04-29 17:40:51 +02:00
parent bd5e43114b
commit 5595a15820
4 changed files with 14 additions and 23 deletions

View File

@@ -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<AppTabRoute.Libraries>(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()

View File

@@ -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<HomeNavItem>,
onLibrarySelected: (HomeNavItem) -> Unit,
items: List<LibraryUiModel>,
onLibrarySelected: (LibraryUiModel) -> Unit,
selectedTab: Int,
onTabSelected: (Int) -> Unit,
modifier: Modifier = Modifier

View File

@@ -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<HomeNavItem>,
onLibrarySelected: (HomeNavItem) -> Unit,
items: List<LibraryUiModel>,
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)
}

View File

@@ -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
)
}