mirror of
https://github.com/Aviortheking/Neo-Store.git
synced 2025-04-23 11:22:12 +00:00
Add: Collapsing TopBar to the main pages
This commit is contained in:
parent
e4892eb44f
commit
d43610d92d
@ -17,10 +17,13 @@ import androidx.compose.material.icons.rounded.Sync
|
||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.Scaffold
|
||||
import androidx.compose.material3.TopAppBarDefaults
|
||||
import androidx.compose.material3.rememberTopAppBarScrollState
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.livedata.observeAsState
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.input.nestedscroll.nestedScroll
|
||||
import androidx.compose.ui.platform.ComposeView
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import com.looker.droidify.R
|
||||
@ -71,6 +74,10 @@ class ExploreFragment : MainNavFragmentX() {
|
||||
val searchQuery by viewModel.searchQuery.observeAsState("")
|
||||
val favorites by mainActivityX.db.extrasDao.favoritesLive.observeAsState(emptyArray())
|
||||
|
||||
val scrollBehavior = TopAppBarDefaults.enterAlwaysScrollBehavior(
|
||||
rememberTopAppBarScrollState()
|
||||
) { true }
|
||||
|
||||
AppTheme(
|
||||
darkTheme = when (Preferences[Preferences.Key.Theme]) {
|
||||
is Preferences.Theme.System -> isSystemInDarkTheme()
|
||||
@ -80,8 +87,12 @@ class ExploreFragment : MainNavFragmentX() {
|
||||
) {
|
||||
Scaffold(
|
||||
// TODO add the topBar to the activity instead of the fragments
|
||||
modifier = Modifier.nestedScroll(scrollBehavior.nestedScrollConnection),
|
||||
topBar = {
|
||||
TopBar(title = stringResource(id = R.string.application_name)) {
|
||||
TopBar(
|
||||
title = stringResource(id = R.string.application_name),
|
||||
scrollBehavior = scrollBehavior
|
||||
) {
|
||||
ExpandableSearchAction(
|
||||
query = searchQuery.orEmpty(),
|
||||
onClose = {
|
||||
|
@ -28,6 +28,8 @@ import androidx.compose.material3.Scaffold
|
||||
import androidx.compose.material3.SuggestionChip
|
||||
import androidx.compose.material3.SuggestionChipDefaults
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.material3.TopAppBarDefaults
|
||||
import androidx.compose.material3.rememberTopAppBarScrollState
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.livedata.observeAsState
|
||||
@ -36,6 +38,7 @@ import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.input.nestedscroll.nestedScroll
|
||||
import androidx.compose.ui.platform.ComposeView
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.res.stringResource
|
||||
@ -89,6 +92,10 @@ class InstalledFragment : MainNavFragmentX() {
|
||||
val searchQuery by viewModel.searchQuery.observeAsState("")
|
||||
val favorites by mainActivityX.db.extrasDao.favoritesLive.observeAsState(emptyArray())
|
||||
|
||||
val scrollBehavior = TopAppBarDefaults.enterAlwaysScrollBehavior(
|
||||
rememberTopAppBarScrollState()
|
||||
) { true }
|
||||
|
||||
AppTheme(
|
||||
darkTheme = when (Preferences[Preferences.Key.Theme]) {
|
||||
is Preferences.Theme.System -> isSystemInDarkTheme()
|
||||
@ -98,8 +105,12 @@ class InstalledFragment : MainNavFragmentX() {
|
||||
) {
|
||||
Scaffold(
|
||||
// TODO add the topBar to the activity instead of the fragments
|
||||
modifier = Modifier.nestedScroll(scrollBehavior.nestedScrollConnection),
|
||||
topBar = {
|
||||
TopBar(title = stringResource(id = R.string.application_name)) {
|
||||
TopBar(
|
||||
title = stringResource(id = R.string.application_name),
|
||||
scrollBehavior = scrollBehavior
|
||||
) {
|
||||
ExpandableSearchAction(
|
||||
query = searchQuery.orEmpty(),
|
||||
onClose = {
|
||||
|
@ -23,11 +23,14 @@ import androidx.compose.material3.Scaffold
|
||||
import androidx.compose.material3.SuggestionChip
|
||||
import androidx.compose.material3.SuggestionChipDefaults
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.material3.TopAppBarDefaults
|
||||
import androidx.compose.material3.rememberTopAppBarScrollState
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.livedata.observeAsState
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.input.nestedscroll.nestedScroll
|
||||
import androidx.compose.ui.platform.ComposeView
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.res.stringResource
|
||||
@ -79,6 +82,10 @@ class LatestFragment : MainNavFragmentX() {
|
||||
val searchQuery by viewModel.searchQuery.observeAsState("")
|
||||
val favorites by mainActivityX.db.extrasDao.favoritesLive.observeAsState(emptyArray())
|
||||
|
||||
val scrollBehavior = TopAppBarDefaults.enterAlwaysScrollBehavior(
|
||||
rememberTopAppBarScrollState()
|
||||
) { true }
|
||||
|
||||
AppTheme(
|
||||
darkTheme = when (Preferences[Preferences.Key.Theme]) {
|
||||
is Preferences.Theme.System -> isSystemInDarkTheme()
|
||||
@ -88,8 +95,12 @@ class LatestFragment : MainNavFragmentX() {
|
||||
) {
|
||||
Scaffold(
|
||||
// TODO add the topBar to the activity instead of the fragments
|
||||
modifier = Modifier.nestedScroll(scrollBehavior.nestedScrollConnection),
|
||||
topBar = {
|
||||
TopBar(title = stringResource(id = R.string.application_name)) {
|
||||
TopBar(
|
||||
title = stringResource(id = R.string.application_name),
|
||||
scrollBehavior = scrollBehavior
|
||||
) {
|
||||
ExpandableSearchAction(
|
||||
query = searchQuery.orEmpty(),
|
||||
onClose = {
|
||||
|
Loading…
x
Reference in New Issue
Block a user