diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/LauncherScaffold.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/LauncherScaffold.kt index bd45b5c27..ed901b9db 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/LauncherScaffold.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/LauncherScaffold.kt @@ -45,6 +45,7 @@ import androidx.compose.foundation.layout.statusBars import androidx.compose.foundation.layout.statusBarsPadding import androidx.compose.foundation.layout.union import androidx.compose.foundation.layout.waterfall +import androidx.compose.foundation.layout.widthIn import androidx.compose.foundation.shape.CutCornerShape import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material3.MaterialTheme @@ -1493,6 +1494,7 @@ internal fun LauncherScaffold( ) { LauncherSearchBar( modifier = Modifier + .widthIn(max = 916.dp) .align( if (config.searchBarPosition == SearchBarPosition.Top) Alignment.TopCenter else Alignment.BottomCenter @@ -1522,7 +1524,6 @@ internal fun LauncherScaffold( Box( modifier = Modifier .fillMaxSize() - .safeDrawingPadding() .offset(y = (1f - imeProgress) * 50.dp) .alpha(imeProgress), contentAlignment = Alignment.BottomCenter, diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/SearchComponent.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/SearchComponent.kt index 5e632f16f..4075fa183 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/SearchComponent.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/SearchComponent.kt @@ -1,17 +1,22 @@ package de.mm20.launcher2.ui.launcher.scaffold +import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.PaddingValues +import androidx.compose.foundation.layout.fillMaxHeight +import androidx.compose.foundation.layout.widthIn import androidx.compose.foundation.lazy.rememberLazyListState import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.MutableState import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember +import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.geometry.Offset import androidx.compose.ui.input.nestedscroll.NestedScrollConnection import androidx.compose.ui.input.nestedscroll.NestedScrollSource import androidx.compose.ui.input.nestedscroll.nestedScroll +import androidx.compose.ui.unit.dp import androidx.lifecycle.viewmodel.compose.viewModel import de.mm20.launcher2.ui.launcher.search.SearchColumn import de.mm20.launcher2.ui.launcher.search.SearchVM @@ -75,13 +80,19 @@ internal class SearchComponent( } } - SearchColumn( - modifier.nestedScroll(scrollConnection), - paddingValues = insets, - state = lazyListState, - reverse = reverse, - userScrollEnabled = !state.isDragged, - ) + Box( + modifier = modifier, + contentAlignment = Alignment.Center + ) { + + SearchColumn( + modifier = Modifier.nestedScroll(scrollConnection).widthIn(max = 916.dp).fillMaxHeight(), + paddingValues = insets, + state = lazyListState, + reverse = reverse, + userScrollEnabled = !state.isDragged, + ) + } } override suspend fun onDismiss(state: LauncherScaffoldState) { diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/WidgetsComponent.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/WidgetsComponent.kt index f8e0f3b1b..a8e890cb5 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/WidgetsComponent.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/WidgetsComponent.kt @@ -10,9 +10,12 @@ import androidx.compose.animation.fadeIn import androidx.compose.animation.fadeOut import androidx.compose.animation.shrinkVertically import androidx.compose.foundation.ScrollState +import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.PaddingValues +import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.widthIn import androidx.compose.foundation.verticalScroll import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.rounded.ArrowBack @@ -86,9 +89,10 @@ internal object WidgetsComponent : ScaffoldComponent() { .padding(horizontal = 8.dp) .padding(top = topPadding) .padding(insets), + horizontalAlignment = Alignment.CenterHorizontally, ) { WidgetColumn( - modifier = Modifier, + modifier = Modifier.widthIn(max = 900.dp).fillMaxHeight(), editMode = editMode, onEditModeChange = { scope.launch { state.lock(hideSearchBar = true) } diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/filters/KeyboardFilterBar.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/filters/KeyboardFilterBar.kt index f0eef9007..3ee33058c 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/filters/KeyboardFilterBar.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/filters/KeyboardFilterBar.kt @@ -7,7 +7,9 @@ import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.imePadding +import androidx.compose.foundation.layout.navigationBarsPadding import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.safeDrawingPadding import androidx.compose.foundation.layout.size import androidx.compose.foundation.rememberScrollState import androidx.compose.material3.FilterChip @@ -39,6 +41,7 @@ fun KeyboardFilterBar( modifier = Modifier .fillMaxWidth() .background(MaterialTheme.colorScheme.surfaceContainerLow) + .navigationBarsPadding() .imePadding() .height(50.dp) ) {