mirror of
https://github.com/Aviortheking/Neo-Store.git
synced 2025-06-08 00:39:54 +00:00
Add: Sort/Filter change listeners to Pages
This commit is contained in:
parent
7c752a2015
commit
553e89f9ff
@ -49,7 +49,6 @@ fun ExplorePage(viewModel: MainNavFragmentViewModelX) {
|
|||||||
val context = LocalContext.current
|
val context = LocalContext.current
|
||||||
val mainActivityX = context as MainActivityX
|
val mainActivityX = context as MainActivityX
|
||||||
val products by viewModel.primaryProducts.observeAsState(null)
|
val products by viewModel.primaryProducts.observeAsState(null)
|
||||||
val categories by viewModel.categories.observeAsState(emptyList())
|
|
||||||
val installedList by viewModel.installed.observeAsState(null)
|
val installedList by viewModel.installed.observeAsState(null)
|
||||||
val repositories by viewModel.repositories.observeAsState(null)
|
val repositories by viewModel.repositories.observeAsState(null)
|
||||||
val repositoriesMap by remember(repositories) {
|
val repositoriesMap by remember(repositories) {
|
||||||
@ -64,6 +63,18 @@ fun ExplorePage(viewModel: MainNavFragmentViewModelX) {
|
|||||||
viewModel.searchQuery.postValue(newQuery)
|
viewModel.searchQuery.postValue(newQuery)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
CoroutineScope(Dispatchers.Default).launch {
|
||||||
|
Preferences.subject.collect {
|
||||||
|
when (it) {
|
||||||
|
Preferences.Key.ReposFilterExplore,
|
||||||
|
Preferences.Key.CategoriesFilterExplore,
|
||||||
|
Preferences.Key.SortOrderExplore,
|
||||||
|
Preferences.Key.SortOrderAscendingExplore ->
|
||||||
|
viewModel.updatedFilter.postValue(true)
|
||||||
|
else -> {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
AppTheme(
|
AppTheme(
|
||||||
|
@ -69,6 +69,18 @@ fun InstalledPage(viewModel: MainNavFragmentViewModelX) {
|
|||||||
viewModel.searchQuery.postValue(newQuery)
|
viewModel.searchQuery.postValue(newQuery)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
CoroutineScope(Dispatchers.Default).launch {
|
||||||
|
Preferences.subject.collect {
|
||||||
|
when (it) {
|
||||||
|
Preferences.Key.ReposFilterInstalled,
|
||||||
|
Preferences.Key.CategoriesFilterInstalled,
|
||||||
|
Preferences.Key.SortOrderInstalled,
|
||||||
|
Preferences.Key.SortOrderAscendingInstalled ->
|
||||||
|
viewModel.updatedFilter.postValue(true)
|
||||||
|
else -> {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
AppTheme(
|
AppTheme(
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package com.machiav3lli.fdroid.ui.pages
|
package com.machiav3lli.fdroid.ui.pages
|
||||||
|
|
||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.background
|
||||||
import androidx.compose.foundation.isSystemInDarkTheme
|
import androidx.compose.foundation.isSystemInDarkTheme
|
||||||
@ -62,6 +62,18 @@ fun LatestPage(viewModel: MainNavFragmentViewModelX) {
|
|||||||
viewModel.searchQuery.postValue(newQuery)
|
viewModel.searchQuery.postValue(newQuery)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
CoroutineScope(Dispatchers.Default).launch {
|
||||||
|
Preferences.subject.collect {
|
||||||
|
when (it) {
|
||||||
|
Preferences.Key.ReposFilterLatest,
|
||||||
|
Preferences.Key.CategoriesFilterLatest,
|
||||||
|
Preferences.Key.SortOrderLatest,
|
||||||
|
Preferences.Key.SortOrderAscendingLatest ->
|
||||||
|
viewModel.updatedFilter.postValue(true)
|
||||||
|
else -> {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
AppTheme(
|
AppTheme(
|
||||||
@ -101,7 +113,7 @@ fun LatestPage(viewModel: MainNavFragmentViewModelX) {
|
|||||||
labelColor = MaterialTheme.colorScheme.onSurface,
|
labelColor = MaterialTheme.colorScheme.onSurface,
|
||||||
),
|
),
|
||||||
onClick = {
|
onClick = {
|
||||||
mainActivityX.navigateSortFilter(NavItem.Latest.destination)
|
mainActivityX.navigateSortFilter(NavItem.Latest.destination)
|
||||||
},
|
},
|
||||||
icon = {
|
icon = {
|
||||||
Icon(
|
Icon(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user