Update: Link searchQuery to Pages

This commit is contained in:
machiav3lli 2022-09-18 15:20:38 +02:00
parent b35ffb327e
commit f206d4792c
3 changed files with 35 additions and 0 deletions

View File

@ -7,6 +7,7 @@ import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.material3.MaterialTheme
import androidx.compose.runtime.Composable
import androidx.compose.runtime.SideEffect
import androidx.compose.runtime.getValue
import androidx.compose.runtime.livedata.observeAsState
import androidx.compose.runtime.mutableStateOf
@ -24,6 +25,9 @@ import com.machiav3lli.fdroid.ui.compose.theme.AppTheme
import com.machiav3lli.fdroid.ui.viewmodels.MainNavFragmentViewModelX
import com.machiav3lli.fdroid.utility.isDarkTheme
import com.machiav3lli.fdroid.utility.onLaunchClick
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
@Composable
fun ExplorePage(viewModel: MainNavFragmentViewModelX) {
@ -38,6 +42,15 @@ fun ExplorePage(viewModel: MainNavFragmentViewModelX) {
}
val favorites by mainActivityX.db.extrasDao.favoritesLive.observeAsState(emptyArray())
SideEffect {
CoroutineScope(Dispatchers.IO).launch {
mainActivityX.searchQuery.collect { newQuery ->
if (newQuery != viewModel.searchQuery.value)
viewModel.searchQuery.postValue(newQuery)
}
}
}
AppTheme(
darkTheme = when (Preferences[Preferences.Key.Theme]) {
is Preferences.Theme.System -> isSystemInDarkTheme()

View File

@ -20,6 +20,7 @@ import androidx.compose.material3.SuggestionChip
import androidx.compose.material3.SuggestionChipDefaults
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.SideEffect
import androidx.compose.runtime.getValue
import androidx.compose.runtime.livedata.observeAsState
import androidx.compose.runtime.mutableStateOf
@ -42,6 +43,9 @@ import com.machiav3lli.fdroid.ui.compose.theme.AppTheme
import com.machiav3lli.fdroid.ui.viewmodels.MainNavFragmentViewModelX
import com.machiav3lli.fdroid.utility.isDarkTheme
import com.machiav3lli.fdroid.utility.onLaunchClick
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
@OptIn(ExperimentalMaterial3Api::class)
@Composable
@ -57,6 +61,15 @@ fun InstalledPage(viewModel: MainNavFragmentViewModelX) {
}
val favorites by mainActivityX.db.extrasDao.favoritesLive.observeAsState(emptyArray())
SideEffect {
CoroutineScope(Dispatchers.IO).launch {
mainActivityX.searchQuery.collect { newQuery ->
if (newQuery != viewModel.searchQuery.value)
viewModel.searchQuery.postValue(newQuery)
}
}
}
AppTheme(
darkTheme = when (Preferences[Preferences.Key.Theme]) {
is Preferences.Theme.System -> isSystemInDarkTheme()

View File

@ -29,6 +29,9 @@ import com.machiav3lli.fdroid.ui.compose.theme.AppTheme
import com.machiav3lli.fdroid.ui.viewmodels.MainNavFragmentViewModelX
import com.machiav3lli.fdroid.utility.isDarkTheme
import com.machiav3lli.fdroid.utility.onLaunchClick
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
@Composable
fun LatestPage(viewModel: MainNavFragmentViewModelX) {
@ -45,6 +48,12 @@ fun LatestPage(viewModel: MainNavFragmentViewModelX) {
SideEffect {
mainActivityX.syncConnection.bind(context)
CoroutineScope(Dispatchers.IO).launch {
mainActivityX.searchQuery.collect { newQuery ->
if (newQuery != viewModel.searchQuery.value)
viewModel.searchQuery.postValue(newQuery)
}
}
}
AppTheme(