More workaround

This commit is contained in:
FooIbar committed 2024-04-21 18:05:25 +08:00
1 parent 1af03dd145
commit 9013778f58
3 files changed
+19 -10

No files matched your search

@@ -3,8 +3,8 @@ package com.hippo.ehviewer.ui.main
import androidx.compose.foundation.horizontalScroll
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.lazy.LazyRow
@@ -74,12 +74,16 @@ fun SearchFilter(
fun isCategoryChecked(bit: Int) = category and bit != 0
val categories = remember(category) { categoryTable.sortedBy { !isCategoryChecked(it.first) } }
LazyRow(
contentPadding = PaddingValues(horizontal = 16.dp, vertical = 8.dp),
// Workaround for https://issuetracker.google.com/332939169
// contentPadding = PaddingValues(horizontal = 16.dp, vertical = 8.dp),
modifier = Modifier.padding(top = 8.dp),
horizontalArrangement = Arrangement.spacedBy(8.dp),
) {
// Workaround for the first item's animation
// https://github.com/Calvin-LL/Reorderable/issues/4#issuecomment-1853131769
item {}
item {
Spacer(modifier = Modifier.width(8.dp))
}
items(categories, { it.first }) {
FilterChip(
selected = isCategoryChecked(it.first),
@@ -88,6 +92,9 @@ fun SearchFilter(
modifier = Modifier.thenIf(animateItems) { animateItem() },
)
}
item {
Spacer(modifier = Modifier.width(8.dp))
}
}
var languageFilter by Settings.languageFilter.asMutableState()
val languages = remember {
@@ -7,7 +7,6 @@ import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.WindowInsetsSides
import androidx.compose.foundation.layout.asPaddingValues
import androidx.compose.foundation.layout.displayCutoutPadding
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.height
@@ -307,9 +306,11 @@ fun SearchBarScreen(
activeState.Anchor()
filter?.invoke()
LazyColumn(
modifier = Modifier.fillMaxSize(),
contentPadding = WindowInsets.navigationBars.union(WindowInsets.ime)
.only(WindowInsetsSides.Bottom).asPaddingValues(),
modifier = Modifier.fillMaxSize()
.windowInsetsPadding(WindowInsets.navigationBars.union(WindowInsets.ime).only(WindowInsetsSides.Bottom)),
// Workaround for https://issuetracker.google.com/332939169
// contentPadding = WindowInsets.navigationBars.union(WindowInsets.ime)
// .only(WindowInsetsSides.Bottom).asPaddingValues(),
) {
// Workaround for prepending before the first item
item {}
@@ -215,8 +215,9 @@ fun FilterScreen(navigator: DestinationsNavigator) {
) { paddingValues ->
Deferred({ allFilterMap.await() }) { filters ->
LazyColumn(
modifier = Modifier.nestedScroll(scrollBehavior.nestedScrollConnection),
contentPadding = paddingValues,
modifier = Modifier.nestedScroll(scrollBehavior.nestedScrollConnection).padding(paddingValues),
// Workaround for https://issuetracker.google.com/332939169
// contentPadding = paddingValues,
) {
var showTip = true
filters.forEach { (filterMode, filters) ->
@@ -229,7 +230,7 @@ fun FilterScreen(navigator: DestinationsNavigator) {
FilterMode.COMMENT -> R.string.filter_comment
}
if (filters.isNotEmpty()) {
stickyHeader(key = filterMode) {
item(key = filterMode) {
Text(
text = stringResource(id = title),
modifier = Modifier.padding(horizontal = 24.dp, vertical = 8.dp).thenIf(animateItems) { animateItem() },