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 89f5a0f41..c25f4de7f 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 @@ -4,7 +4,7 @@ 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.grid.rememberLazyGridState +import androidx.compose.foundation.lazy.rememberLazyListState import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.MutableState @@ -42,24 +42,24 @@ internal class SearchComponent( state: LauncherScaffoldState ) { val searchVM = viewModel() - val lazyGridState = rememberLazyGridState() + val lazyListState = rememberLazyListState() LaunchedEffect(isActive) { if (!isActive) { searchVM.reset() - lazyGridState.scrollToItem(0, 0) + lazyListState.scrollToItem(0, 0) } } LaunchedEffect(searchVM.searchQuery.value, searchVM.filters.value) { - lazyGridState.requestScrollToItem(0, 0) + lazyListState.requestScrollToItem(0, 0) } - LaunchedEffect(lazyGridState.canScrollForward, lazyGridState.canScrollBackward) { + LaunchedEffect(lazyListState.canScrollForward, lazyListState.canScrollBackward) { isAtBottom.value = - !lazyGridState.canScrollForward && !reverse || !lazyGridState.canScrollBackward && reverse + !lazyListState.canScrollForward && !reverse || !lazyListState.canScrollBackward && reverse isAtTop.value = - !lazyGridState.canScrollForward && reverse || !lazyGridState.canScrollBackward && !reverse + !lazyListState.canScrollForward && reverse || !lazyListState.canScrollBackward && !reverse } @@ -88,7 +88,7 @@ internal class SearchComponent( SearchColumn( modifier = Modifier.nestedScroll(scrollConnection).widthIn(max = 916.dp).fillMaxHeight(), paddingValues = insets, - state = lazyGridState, + state = lazyListState, reverse = reverse, userScrollEnabled = !state.isDragged, onHideKeyboard = { diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/SearchColumn.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/SearchColumn.kt index 72188ca7e..f92be26fa 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/SearchColumn.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/SearchColumn.kt @@ -12,11 +12,6 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.LazyListScope import androidx.compose.foundation.lazy.LazyListState -import androidx.compose.foundation.lazy.grid.GridCells -import androidx.compose.foundation.lazy.grid.GridItemSpan -import androidx.compose.foundation.lazy.grid.LazyGridState -import androidx.compose.foundation.lazy.grid.LazyVerticalGrid -import androidx.compose.foundation.lazy.grid.rememberLazyGridState import androidx.compose.foundation.lazy.rememberLazyListState import androidx.compose.material3.MaterialTheme import androidx.compose.material3.surfaceColorAtElevation @@ -63,7 +58,7 @@ import de.mm20.launcher2.ui.theme.transparency.transparency fun SearchColumn( modifier: Modifier = Modifier, paddingValues: PaddingValues = PaddingValues(0.dp), - state: LazyGridState = rememberLazyGridState(), + state: LazyListState = rememberLazyListState(), reverse: Boolean = false, userScrollEnabled: Boolean = true, onHideKeyboard: () -> Unit = {}, @@ -161,12 +156,11 @@ fun SearchColumn( ) } } else { - LazyVerticalGrid( + LazyColumn( state = state, userScrollEnabled = userScrollEnabled, contentPadding = paddingValues, reverseLayout = reverse, - columns = GridCells.Fixed(columns), ) { if (!hideFavs && favoritesEnabled) { SearchFavorites( @@ -184,7 +178,7 @@ fun SearchColumn( ) } else { // Empty item to maintain scroll position - item(key = "favorites", span = { GridItemSpan(maxLineSpan) }) { + item(key = "favorites") { } } diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/apps/AppResults.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/apps/AppResults.kt index 9076098df..a78b99b0a 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/apps/AppResults.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/apps/AppResults.kt @@ -9,7 +9,6 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.lazy.LazyListScope -import androidx.compose.foundation.lazy.grid.LazyGridScope import androidx.compose.material3.Button import androidx.compose.material3.ButtonDefaults import androidx.compose.material3.FilledTonalButton @@ -36,7 +35,7 @@ import de.mm20.launcher2.ui.launcher.search.common.list.ListResults import de.mm20.launcher2.ui.layout.BottomReversed import de.mm20.launcher2.ui.locals.LocalGridSettings -fun LazyGridScope.AppResults( +fun LazyListScope.AppResults( onProfileSelected: (Int) -> Unit, profiles: List = emptyList(), selectedProfileIndex: Int = -1, diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/calculator/CalculatorResults.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/calculator/CalculatorResults.kt index e03de92e6..6285d3f44 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/calculator/CalculatorResults.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/calculator/CalculatorResults.kt @@ -1,21 +1,15 @@ package de.mm20.launcher2.ui.launcher.search.calculator -import androidx.compose.foundation.lazy.grid.GridItemSpan -import androidx.compose.foundation.lazy.grid.LazyGridScope +import androidx.compose.foundation.lazy.LazyListScope import de.mm20.launcher2.search.data.Calculator import de.mm20.launcher2.ui.launcher.search.common.list.ListItemSurface -fun LazyGridScope.CalculatorResults( +fun LazyListScope.CalculatorResults( calculator: List, reverse: Boolean, ) { if (calculator.isNotEmpty()) { - item( - key = "calculator", - span = { - GridItemSpan(maxLineSpan) - } - ) { + item(key = "calculator") { ListItemSurface( isFirst = true, isLast = true, diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/calendar/CalendarResults.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/calendar/CalendarResults.kt index 64426c14d..c772413fb 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/calendar/CalendarResults.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/calendar/CalendarResults.kt @@ -2,7 +2,7 @@ package de.mm20.launcher2.ui.launcher.search.calendar import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.lazy.grid.LazyGridScope +import androidx.compose.foundation.lazy.LazyListScope import androidx.compose.material3.OutlinedButton import androidx.compose.material3.Text import androidx.compose.ui.Modifier @@ -16,7 +16,7 @@ import de.mm20.launcher2.ui.launcher.search.common.list.ListItem import de.mm20.launcher2.ui.launcher.search.common.list.ListResults import kotlin.math.min -fun LazyGridScope.CalendarResults( +fun LazyListScope.CalendarResults( events: List, missingPermission: Boolean, onPermissionRequest: () -> Unit, @@ -39,7 +39,7 @@ fun LazyGridScope.CalendarResults( .fillMaxWidth(), item = calendar, showDetails = showDetails, - onShowDetails = { onSelect(if (it) index else -1) }, + onShowDetails = { onSelect(if(it) index else -1) }, highlight = highlightedItem?.key == calendar.key ) }, diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/common/grid/GridResults.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/common/grid/GridResults.kt index 60e016d79..7a7ede577 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/common/grid/GridResults.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/common/grid/GridResults.kt @@ -2,29 +2,21 @@ package de.mm20.launcher2.ui.launcher.search.common.grid import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box -import androidx.compose.foundation.layout.IntrinsicSize import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer -import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.sizeIn import androidx.compose.foundation.lazy.LazyListScope -import androidx.compose.foundation.lazy.grid.GridItemSpan -import androidx.compose.foundation.lazy.grid.LazyGridScope -import androidx.compose.foundation.lazy.grid.items import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp import de.mm20.launcher2.search.SavableSearchable import de.mm20.launcher2.ui.ktx.withCorners import de.mm20.launcher2.ui.theme.transparency.transparency import kotlin.math.ceil -fun LazyGridScope.GridResults( +fun LazyListScope.GridResults( key: String, items: List, itemContent: @Composable (T) -> Unit, @@ -37,9 +29,6 @@ fun LazyGridScope.GridResults( item( key = "$key-before", contentType = { "$key-before" }, - span = { - GridItemSpan(maxLineSpan) - } ) { val isTop = !reverse || items.isEmpty() && after == null val isBottom = reverse || items.isEmpty() && after == null @@ -65,56 +54,54 @@ fun LazyGridScope.GridResults( } val rows = ceil(items.size / columns.toFloat()).toInt() - // cells at the end of the grid that are empty - val emptySlots = rows * columns - items.size items( - items.size, - key = { "$key-${items[it].key}" }, - contentType = { key }, - span = { - if (it == items.lastIndex) { - GridItemSpan(maxCurrentLineSpan) - } else { - GridItemSpan(1) - } - } + rows, + key = { + "$key-$it" + }, + contentType = { key } ) { - val item = items[it] - val isFirstRow = before == null && it < columns - val isLastRow = after == null && it >= items.lastIndex - (items.lastIndex % columns) - val isFirstInRow = it % columns == 0 - val isLastInRow = it % columns == columns - 1 || it == items.lastIndex - Box( + val isFirst = it == 0 && before == null + val isLast = it == rows - 1 && after == null + Row( modifier = Modifier .fillMaxWidth() .padding( - top = if (reverse && isLastRow) 8.dp else 0.dp, - bottom = if (!reverse && isLastRow) 8.dp else 0.dp, + top = if (reverse && isLast) 8.dp else 0.dp, + bottom = if (!reverse && isLast) 8.dp else 0.dp, ) .background( MaterialTheme.colorScheme.surface.copy(alpha = MaterialTheme.transparency.surface), MaterialTheme.shapes.medium.withCorners( - topStart = isFirstInRow && (isFirstRow && !reverse || isLastRow && reverse), - topEnd = isLastInRow && (isFirstRow && !reverse || isLastRow && reverse), - bottomStart = isFirstInRow && (isLastRow && !reverse || isFirstRow && reverse), - bottomEnd = isLastInRow && (isLastRow && !reverse || isFirstRow && reverse), + topStart = isFirst && !reverse || isLast && reverse, + topEnd = isFirst && !reverse || isLast && reverse, + bottomEnd = isLast && !reverse || isFirst && reverse, + bottomStart = isLast && !reverse || isFirst && reverse, ) ) .padding( - top = if (isFirstRow) 8.dp else 0.dp, - bottom = if (isLastRow) 8.dp else 0.dp, - start = if (columns == 1 || !isFirstInRow) 0.dp else 4.dp, - end = if (columns == 1 || !isLastInRow) 0.dp else 4.dp, + top = if (it == 0) 8.dp else 0.dp, + bottom = if (it == rows - 1) 8.dp else 0.dp, + start = if (columns == 1) 0.dp else 4.dp, + end = if (columns == 1) 0.dp else 4.dp, ) ) { - Box( - modifier = Modifier.fillMaxWidth( - if (it == items.lastIndex) 1f / (1f + emptySlots) - else 1f - ) - ) { - itemContent(item) + Row { + for (i in 0 until columns) { + val item = items.getOrNull(it * columns + i) + if (item != null) { + Box( + modifier = Modifier + .weight(1f) + ) { + itemContent(item) + } + } else { + Spacer(modifier = Modifier.weight(1f)) + } + + } } } } @@ -123,9 +110,6 @@ fun LazyGridScope.GridResults( item( key = "$key-after", contentType = { "$key-after" }, - span = { - GridItemSpan(maxLineSpan) - } ) { val isTop = reverse || items.isEmpty() && before == null val isBottom = !reverse || items.isEmpty() && before == null diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/common/list/ListResults.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/common/list/ListResults.kt index 2ce8444c2..b1e7751c6 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/common/list/ListResults.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/common/list/ListResults.kt @@ -11,9 +11,6 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.LazyItemScope import androidx.compose.foundation.lazy.LazyListScope -import androidx.compose.foundation.lazy.grid.GridItemSpan -import androidx.compose.foundation.lazy.grid.LazyGridItemScope -import androidx.compose.foundation.lazy.grid.LazyGridScope import androidx.compose.material3.LocalContentColor import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable @@ -27,7 +24,7 @@ import de.mm20.launcher2.ui.ktx.animateShapeAsState import de.mm20.launcher2.ui.layout.BottomReversed import de.mm20.launcher2.ui.theme.transparency.transparency -fun LazyGridScope.ListResults( +fun LazyListScope.ListResults( key: String, items: List, itemContent: @Composable ColumnScope.(T, Boolean, Int) -> Unit, @@ -40,9 +37,6 @@ fun LazyGridScope.ListResults( item( key = "$key-before", contentType = { "$key-before" }, - span = { - GridItemSpan(maxLineSpan) - } ) { ListItemSurface( isFirst = true, @@ -61,9 +55,6 @@ fun LazyGridScope.ListResults( "$key-${items[it].key}" }, contentType = { key }, - span = { - GridItemSpan(maxLineSpan) - } ) { val item = items[it] val showDetails = it == selectedIndex @@ -83,9 +74,6 @@ fun LazyGridScope.ListResults( item( key = "$key-after", contentType = { "$key-after" }, - span = { - GridItemSpan(maxLineSpan) - } ) { ListItemSurface( isFirst = before == null && items.isEmpty(), @@ -100,7 +88,7 @@ fun LazyGridScope.ListResults( } @Composable -fun LazyGridItemScope.ListItemSurface( +fun LazyItemScope.ListItemSurface( isFirst: Boolean = false, isLast: Boolean = false, reverse: Boolean = false, diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/contacts/ContactResults.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/contacts/ContactResults.kt index 7fea786eb..b32b7cbe3 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/contacts/ContactResults.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/contacts/ContactResults.kt @@ -2,7 +2,7 @@ package de.mm20.launcher2.ui.launcher.search.contacts import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.lazy.grid.LazyGridScope +import androidx.compose.foundation.lazy.LazyListScope import androidx.compose.material3.OutlinedButton import androidx.compose.material3.Text import androidx.compose.ui.Modifier @@ -16,7 +16,7 @@ import de.mm20.launcher2.ui.launcher.search.common.list.ListItem import de.mm20.launcher2.ui.launcher.search.common.list.ListResults import kotlin.math.min -fun LazyGridScope.ContactResults( +fun LazyListScope.ContactResults( contacts: List, missingPermission: Boolean, onPermissionRequest: () -> Unit, diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/favorites/SearchFavorites.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/favorites/SearchFavorites.kt index 5817f4308..65a2d4d1e 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/favorites/SearchFavorites.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/favorites/SearchFavorites.kt @@ -5,8 +5,6 @@ import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.LazyListScope -import androidx.compose.foundation.lazy.grid.GridItemSpan -import androidx.compose.foundation.lazy.grid.LazyGridScope import androidx.compose.foundation.rememberScrollState import androidx.compose.material3.LocalContentColor import androidx.compose.material3.MaterialTheme @@ -23,7 +21,7 @@ import de.mm20.launcher2.ui.launcher.search.common.grid.SearchResultGrid import de.mm20.launcher2.ui.layout.BottomReversed import de.mm20.launcher2.ui.theme.transparency.transparency -fun LazyGridScope.SearchFavorites( +fun LazyListScope.SearchFavorites( favorites: List, pinnedTags: List, selectedTag: String?, @@ -36,9 +34,6 @@ fun LazyGridScope.SearchFavorites( ) { item( key = "favorites", - span = { - GridItemSpan(maxLineSpan) - } ) { CompositionLocalProvider(LocalContentColor provides MaterialTheme.colorScheme.onSurface) { Column( diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/files/FileResults.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/files/FileResults.kt index 6eea83f7e..1110fc619 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/files/FileResults.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/files/FileResults.kt @@ -2,7 +2,7 @@ package de.mm20.launcher2.ui.launcher.search.files import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.lazy.grid.LazyGridScope +import androidx.compose.foundation.lazy.LazyListScope import androidx.compose.material3.OutlinedButton import androidx.compose.material3.Text import androidx.compose.ui.Modifier @@ -16,7 +16,7 @@ import de.mm20.launcher2.ui.launcher.search.common.list.ListItem import de.mm20.launcher2.ui.launcher.search.common.list.ListResults import kotlin.math.min -fun LazyGridScope.FileResults( +fun LazyListScope.FileResults( files: List, missingPermission: Boolean, onPermissionRequest: () -> Unit, diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/location/LocationResults.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/location/LocationResults.kt index 297bc52f5..ee57b2385 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/location/LocationResults.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/location/LocationResults.kt @@ -2,7 +2,7 @@ package de.mm20.launcher2.ui.launcher.search.location import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.lazy.grid.LazyGridScope +import androidx.compose.foundation.lazy.LazyListScope import androidx.compose.material3.OutlinedButton import androidx.compose.material3.Text import androidx.compose.ui.Modifier @@ -16,7 +16,7 @@ import de.mm20.launcher2.ui.launcher.search.common.list.ListItem import de.mm20.launcher2.ui.launcher.search.common.list.ListResults import kotlin.math.min -fun LazyGridScope.LocationResults( +fun LazyListScope.LocationResults( locations: List, missingPermission: Boolean, onPermissionRequest: () -> Unit, @@ -39,7 +39,7 @@ fun LazyGridScope.LocationResults( .fillMaxWidth(), item = location, showDetails = showDetails, - onShowDetails = { onSelect(if (it) index else -1) }, + onShowDetails = { onSelect(if(it) index else -1) }, highlight = highlightedItem?.key == location.key ) }, diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/shortcut/ShortcutResults.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/shortcut/ShortcutResults.kt index 28ff228b6..e3080fc98 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/shortcut/ShortcutResults.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/shortcut/ShortcutResults.kt @@ -2,7 +2,7 @@ package de.mm20.launcher2.ui.launcher.search.shortcut import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.lazy.grid.LazyGridScope +import androidx.compose.foundation.lazy.LazyListScope import androidx.compose.material3.OutlinedButton import androidx.compose.material3.Text import androidx.compose.ui.Modifier @@ -16,7 +16,7 @@ import de.mm20.launcher2.ui.launcher.search.common.list.ListItem import de.mm20.launcher2.ui.launcher.search.common.list.ListResults import kotlin.math.min -fun LazyGridScope.ShortcutResults( +fun LazyListScope.ShortcutResults( shortcuts: List, missingPermission: Boolean, onPermissionRequest: () -> Unit, diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/unitconverter/UnitConverterResults.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/unitconverter/UnitConverterResults.kt index f0b88fece..3e1097044 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/unitconverter/UnitConverterResults.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/unitconverter/UnitConverterResults.kt @@ -11,8 +11,6 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.widthIn import androidx.compose.foundation.lazy.LazyListScope -import androidx.compose.foundation.lazy.grid.GridItemSpan -import androidx.compose.foundation.lazy.grid.LazyGridScope import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.MaterialTheme @@ -41,7 +39,7 @@ import de.mm20.launcher2.unitconverter.Dimension import java.util.Date import kotlin.math.min -fun LazyGridScope.UnitConverterResults( +fun LazyListScope.UnitConverterResults( converters: List, truncate: Boolean, onShowAll: () -> Unit, @@ -51,9 +49,6 @@ fun LazyGridScope.UnitConverterResults( val converter = converters.first() item( key = "converter-header", - span = { - GridItemSpan(maxLineSpan) - } ) { ListItemSurface( isFirst = true, @@ -134,10 +129,7 @@ fun LazyGridScope.UnitConverterResults( val count = if (truncate) min(5, converter.values.size) else converter.values.size items( count, - key = { "converter-${converter.values[it].symbol}" }, - span = { - GridItemSpan(maxLineSpan) - } + key = { "converter-${converter.values[it].symbol}" } ) { val value = converter.values[it] ListItemSurface( @@ -201,10 +193,7 @@ fun LazyGridScope.UnitConverterResults( } if (truncate && converter.values.size > 5) { item( - key = "converter-footer", - span = { - GridItemSpan(maxLineSpan) - } + key = "converter-footer" ) { ListItemSurface( isLast = true, diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/website/WebsiteResults.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/website/WebsiteResults.kt index 2d4374234..082566c85 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/website/WebsiteResults.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/website/WebsiteResults.kt @@ -1,12 +1,11 @@ package de.mm20.launcher2.ui.launcher.search.website import androidx.compose.foundation.lazy.LazyListScope -import androidx.compose.foundation.lazy.grid.LazyGridScope import de.mm20.launcher2.search.Website import de.mm20.launcher2.ui.launcher.search.common.list.ListItem import de.mm20.launcher2.ui.launcher.search.common.list.ListResults -fun LazyGridScope.WebsiteResults( +fun LazyListScope.WebsiteResults( websites: List, selectedIndex: Int, onSelect: (Int) -> Unit, diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/wikipedia/ArticleResults.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/wikipedia/ArticleResults.kt index 50fabd38e..6bd6f7d7b 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/wikipedia/ArticleResults.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/wikipedia/ArticleResults.kt @@ -1,11 +1,11 @@ package de.mm20.launcher2.ui.launcher.search.wikipedia -import androidx.compose.foundation.lazy.grid.LazyGridScope +import androidx.compose.foundation.lazy.LazyListScope import de.mm20.launcher2.search.Article import de.mm20.launcher2.ui.launcher.search.common.list.ListItem import de.mm20.launcher2.ui.launcher.search.common.list.ListResults -fun LazyGridScope.ArticleResults( +fun LazyListScope.ArticleResults( articles: List
, selectedIndex: Int, onSelect: (Int) -> Unit, @@ -19,7 +19,7 @@ fun LazyGridScope.ArticleResults( ListItem( item = article, showDetails = showDetails, - onShowDetails = { onSelect(if (it) index else -1) }, + onShowDetails = { onSelect(if(it) index else -1) }, highlight = article.key == highlightedItem?.key, ) },