fixed tag overflow, detail page padding

This commit is contained in:
tom5079
2024-07-02 11:43:24 -07:00
parent 4028739e70
commit fd3f1454c5
2 changed files with 26 additions and 12 deletions

View File

@@ -269,7 +269,6 @@ fun MainContent(
onQueryChange = onQueryChange, onQueryChange = onQueryChange,
loadSearchResult = loadSearchResult, loadSearchResult = loadSearchResult,
openGallery = { openGallery = {
Log.d("PUPILD", "openGallery: ${it.id}")
navController.navigate(MainDestination.ImageViewer(it.id).route) { navController.navigate(MainDestination.ImageViewer(it.id).route) {
launchSingleTop = true launchSingleTop = true
} }

View File

@@ -20,6 +20,7 @@ import androidx.compose.foundation.layout.BoxWithConstraints
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.RowScope
import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.WindowInsets import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.absoluteOffset import androidx.compose.foundation.layout.absoluteOffset
@@ -190,7 +191,14 @@ fun TagChip(
onClick: (SearchQuery.Tag) -> Unit = { }, onClick: (SearchQuery.Tag) -> Unit = { },
leftIcon: @Composable (SearchQuery.Tag) -> Unit = { TagChipIcon(it) }, leftIcon: @Composable (SearchQuery.Tag) -> Unit = { TagChipIcon(it) },
rightIcon: @Composable (SearchQuery.Tag) -> Unit = { Spacer(Modifier.width(16.dp)) }, rightIcon: @Composable (SearchQuery.Tag) -> Unit = { Spacer(Modifier.width(16.dp)) },
content: @Composable (SearchQuery.Tag) -> Unit = { Text(it.tag) }, content: @Composable RowScope.(SearchQuery.Tag) -> Unit = {
Text(
it.tag,
modifier = Modifier
.weight(1f, fill = false)
.horizontalScroll(rememberScrollState())
)
},
) { ) {
val surfaceColor = if (isFavorite) Yellow400 else when (tag.namespace) { val surfaceColor = if (isFavorite) Yellow400 else when (tag.namespace) {
"male" -> Blue600 "male" -> Blue600
@@ -513,7 +521,7 @@ fun DetailScreen(
Column( Column(
Modifier Modifier
.padding(8.dp) .padding(horizontal = 8.dp)
.verticalScroll(rememberScrollState()), .verticalScroll(rememberScrollState()),
verticalArrangement = Arrangement.spacedBy(16.dp) verticalArrangement = Arrangement.spacedBy(16.dp)
) { ) {
@@ -526,14 +534,18 @@ fun DetailScreen(
Row(Modifier.fillMaxWidth()) { Row(Modifier.fillMaxWidth()) {
FilledTonalButton( FilledTonalButton(
modifier = Modifier.weight(1f).padding(horizontal = 4.dp), modifier = Modifier
.weight(1f)
.padding(horizontal = 4.dp),
onClick = { /*TODO*/ } onClick = { /*TODO*/ }
) { ) {
Text(stringResource(R.string.download)) Text(stringResource(R.string.download))
} }
Button( Button(
modifier = Modifier.weight(1f).padding(horizontal = 4.dp), modifier = Modifier
.weight(1f)
.padding(horizontal = 4.dp),
onClick = { openGallery(galleryInfo) } onClick = { openGallery(galleryInfo) }
) { ) {
Text("Open") Text("Open")
@@ -569,9 +581,11 @@ fun SearchScreen(
) { ) {
val itemsPerPage by remember { mutableIntStateOf(20) } val itemsPerPage by remember { mutableIntStateOf(20) }
val pageToRange: (Int) -> IntRange = remember(itemsPerPage) {{ page -> val pageToRange: (Int) -> IntRange = remember(itemsPerPage) {
page * itemsPerPage ..< (page+1) * itemsPerPage { page ->
}} page * itemsPerPage..<(page + 1) * itemsPerPage
}
}
val currentPage = remember(uiState) { val currentPage = remember(uiState) {
if (uiState.currentRange != IntRange.EMPTY) { if (uiState.currentRange != IntRange.EMPTY) {
@@ -585,9 +599,11 @@ fun SearchScreen(
} else 0 } else 0
} }
val loadResult: (Int) -> Unit = remember(loadSearchResult) {{ page -> val loadResult: (Int) -> Unit = remember(loadSearchResult) {
loadSearchResult(pageToRange(page)) { page ->
}} loadSearchResult(pageToRange(page))
}
}
LaunchedEffect(uiState.query) { loadSearchResult(pageToRange(currentPage)) } LaunchedEffect(uiState.query) { loadSearchResult(pageToRange(currentPage)) }
@@ -652,4 +668,3 @@ fun SearchScreen(
} }
} }
} }