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(
|
fun ProductsVerticalRecycler(
|
||||||
productsList: List<Product>?,
|
productsList: List<Product>?,
|
||||||
repositories: Map<Long, Repository>,
|
repositories: Map<Long, Repository>,
|
||||||
onUserClick: (ProductItem) -> Unit = {}
|
onUserClick: (ProductItem) -> Unit = {},
|
||||||
|
onFavouriteClick: (ProductItem) -> Unit = {},
|
||||||
|
onInstallClick: (ProductItem) -> Unit = {}
|
||||||
) {
|
) {
|
||||||
VerticalItemList(list = productsList) {
|
VerticalItemList(list = productsList) {
|
||||||
it.item.let { item ->
|
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(
|
fun ProductsListItem(
|
||||||
item: ProductItem,
|
item: ProductItem,
|
||||||
repo: Repository? = null,
|
repo: Repository? = null,
|
||||||
onUserClick: (ProductItem) -> Unit = {}
|
onUserClick: (ProductItem) -> Unit = {},
|
||||||
|
onFavouriteClick: (ProductItem) -> Unit = {},
|
||||||
|
onInstallClick: (ProductItem) -> Unit = {}
|
||||||
) {
|
) {
|
||||||
val imageData by remember(item, repo) {
|
val imageData by remember(item, repo) {
|
||||||
mutableStateOf(
|
mutableStateOf(
|
||||||
@ -45,7 +47,13 @@ fun ProductsListItem(
|
|||||||
ExpandableCard(
|
ExpandableCard(
|
||||||
modifier = Modifier.padding(horizontal = 8.dp, vertical = 8.dp),
|
modifier = Modifier.padding(horizontal = 8.dp, vertical = 8.dp),
|
||||||
onClick = { onUserClick(item) },
|
onClick = { onUserClick(item) },
|
||||||
expandedContent = { ExpandedItemContent(item = item) }
|
expandedContent = {
|
||||||
|
ExpandedItemContent(
|
||||||
|
item = item,
|
||||||
|
onFavourite = onFavouriteClick,
|
||||||
|
onInstallClicked = onInstallClick
|
||||||
|
)
|
||||||
|
}
|
||||||
) {
|
) {
|
||||||
Row(
|
Row(
|
||||||
modifier = Modifier.fillMaxWidth(),
|
modifier = Modifier.fillMaxWidth(),
|
||||||
|
@ -57,10 +57,16 @@ class ExploreFragment : MainNavFragmentX() {
|
|||||||
}
|
}
|
||||||
) {
|
) {
|
||||||
Scaffold { _ ->
|
Scaffold { _ ->
|
||||||
ProductsVerticalRecycler(it, repositories) { item ->
|
ProductsVerticalRecycler(it, repositories,
|
||||||
|
onUserClick = { item ->
|
||||||
AppSheetX(item.packageName)
|
AppSheetX(item.packageName)
|
||||||
.showNow(parentFragmentManager, "Product ${item.packageName}")
|
.showNow(parentFragmentManager, "Product ${item.packageName}")
|
||||||
|
},
|
||||||
|
onFavouriteClick = {},
|
||||||
|
onInstallClick = {
|
||||||
|
mainActivityX.syncConnection.binder?.installApps(listOf(it))
|
||||||
}
|
}
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -56,10 +56,16 @@ class InstalledFragment : MainNavFragmentX() {
|
|||||||
}
|
}
|
||||||
) {
|
) {
|
||||||
Scaffold { _ ->
|
Scaffold { _ ->
|
||||||
ProductsVerticalRecycler(it, repositories) { item ->
|
ProductsVerticalRecycler(it, repositories,
|
||||||
|
onUserClick = { item ->
|
||||||
AppSheetX(item.packageName)
|
AppSheetX(item.packageName)
|
||||||
.showNow(parentFragmentManager, "Product ${item.packageName}")
|
.showNow(parentFragmentManager, "Product ${item.packageName}")
|
||||||
|
},
|
||||||
|
onFavouriteClick = {},
|
||||||
|
onInstallClick = {
|
||||||
|
mainActivityX.syncConnection.binder?.installApps(listOf(it))
|
||||||
}
|
}
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -56,10 +56,16 @@ class LatestFragment : MainNavFragmentX() {
|
|||||||
}
|
}
|
||||||
) {
|
) {
|
||||||
Scaffold { _ ->
|
Scaffold { _ ->
|
||||||
ProductsVerticalRecycler(it, repositories) { item ->
|
ProductsVerticalRecycler(it, repositories,
|
||||||
|
onUserClick = { item ->
|
||||||
AppSheetX(item.packageName)
|
AppSheetX(item.packageName)
|
||||||
.showNow(parentFragmentManager, "Product ${item.packageName}")
|
.showNow(parentFragmentManager, "Product ${item.packageName}")
|
||||||
|
},
|
||||||
|
onFavouriteClick = {},
|
||||||
|
onInstallClick = {
|
||||||
|
mainActivityX.syncConnection.binder?.installApps(listOf(it))
|
||||||
}
|
}
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user