Add: Sort/Filter change listeners to Pages

This commit is contained in:
machiav3lli 2022-09-26 02:23:39 +02:00
parent 7c752a2015
commit 553e89f9ff
3 changed files with 38 additions and 3 deletions

View File

@ -49,7 +49,6 @@ fun ExplorePage(viewModel: MainNavFragmentViewModelX) {
val context = LocalContext.current
val mainActivityX = context as MainActivityX
val products by viewModel.primaryProducts.observeAsState(null)
val categories by viewModel.categories.observeAsState(emptyList())
val installedList by viewModel.installed.observeAsState(null)
val repositories by viewModel.repositories.observeAsState(null)
val repositoriesMap by remember(repositories) {
@ -64,6 +63,18 @@ fun ExplorePage(viewModel: MainNavFragmentViewModelX) {
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(

View File

@ -69,6 +69,18 @@ fun InstalledPage(viewModel: MainNavFragmentViewModelX) {
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(

View File

@ -62,6 +62,18 @@ fun LatestPage(viewModel: MainNavFragmentViewModelX) {
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(