mirror of
https://github.com/Aviortheking/Neo-Store.git
synced 2025-04-24 11:52:13 +00:00
Add: Extended card onClick actions (and wire install)
This commit is contained in:
parent
71603ff3c4
commit
0e61463954
@ -29,11 +29,19 @@ import com.looker.droidify.ui.compose.components.RepositoryItem
|
||||
fun ProductsVerticalRecycler(
|
||||
productsList: List<Product>?,
|
||||
repositories: Map<Long, Repository>,
|
||||
onUserClick: (ProductItem) -> Unit = {}
|
||||
onUserClick: (ProductItem) -> Unit = {},
|
||||
onFavouriteClick: (ProductItem) -> Unit = {},
|
||||
onInstallClick: (ProductItem) -> Unit = {}
|
||||
) {
|
||||
VerticalItemList(list = productsList) {
|
||||
it.item.let { item ->
|
||||
ProductsListItem(item, repositories[item.repositoryId], onUserClick)
|
||||
ProductsListItem(
|
||||
item,
|
||||
repositories[item.repositoryId],
|
||||
onUserClick,
|
||||
onFavouriteClick,
|
||||
onInstallClick
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -28,7 +28,9 @@ import com.looker.droidify.ui.compose.utils.NetworkImage
|
||||
fun ProductsListItem(
|
||||
item: ProductItem,
|
||||
repo: Repository? = null,
|
||||
onUserClick: (ProductItem) -> Unit = {}
|
||||
onUserClick: (ProductItem) -> Unit = {},
|
||||
onFavouriteClick: (ProductItem) -> Unit = {},
|
||||
onInstallClick: (ProductItem) -> Unit = {}
|
||||
) {
|
||||
val imageData by remember(item, repo) {
|
||||
mutableStateOf(
|
||||
@ -45,7 +47,13 @@ fun ProductsListItem(
|
||||
ExpandableCard(
|
||||
modifier = Modifier.padding(horizontal = 8.dp, vertical = 8.dp),
|
||||
onClick = { onUserClick(item) },
|
||||
expandedContent = { ExpandedItemContent(item = item) }
|
||||
expandedContent = {
|
||||
ExpandedItemContent(
|
||||
item = item,
|
||||
onFavourite = onFavouriteClick,
|
||||
onInstallClicked = onInstallClick
|
||||
)
|
||||
}
|
||||
) {
|
||||
Row(
|
||||
modifier = Modifier.fillMaxWidth(),
|
||||
|
@ -57,10 +57,16 @@ class ExploreFragment : MainNavFragmentX() {
|
||||
}
|
||||
) {
|
||||
Scaffold { _ ->
|
||||
ProductsVerticalRecycler(it, repositories) { item ->
|
||||
ProductsVerticalRecycler(it, repositories,
|
||||
onUserClick = { item ->
|
||||
AppSheetX(item.packageName)
|
||||
.showNow(parentFragmentManager, "Product ${item.packageName}")
|
||||
},
|
||||
onFavouriteClick = {},
|
||||
onInstallClick = {
|
||||
mainActivityX.syncConnection.binder?.installApps(listOf(it))
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -56,10 +56,16 @@ class InstalledFragment : MainNavFragmentX() {
|
||||
}
|
||||
) {
|
||||
Scaffold { _ ->
|
||||
ProductsVerticalRecycler(it, repositories) { item ->
|
||||
ProductsVerticalRecycler(it, repositories,
|
||||
onUserClick = { item ->
|
||||
AppSheetX(item.packageName)
|
||||
.showNow(parentFragmentManager, "Product ${item.packageName}")
|
||||
},
|
||||
onFavouriteClick = {},
|
||||
onInstallClick = {
|
||||
mainActivityX.syncConnection.binder?.installApps(listOf(it))
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -56,10 +56,16 @@ class LatestFragment : MainNavFragmentX() {
|
||||
}
|
||||
) {
|
||||
Scaffold { _ ->
|
||||
ProductsVerticalRecycler(it, repositories) { item ->
|
||||
ProductsVerticalRecycler(it, repositories,
|
||||
onUserClick = { item ->
|
||||
AppSheetX(item.packageName)
|
||||
.showNow(parentFragmentManager, "Product ${item.packageName}")
|
||||
},
|
||||
onFavouriteClick = {},
|
||||
onInstallClick = {
|
||||
mainActivityX.syncConnection.binder?.installApps(listOf(it))
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user