Cleanup GalleryDetailWidgets codestyle

This commit is contained in:
tarsin committed 2023-05-12 15:42:49 +08:00
1 parent e8ad2f2185
commit 4b1adab0eb
1 file changed
+79 -113
@@ -15,6 +15,7 @@ import androidx.compose.material3.Card
import androidx.compose.material3.ElevatedCard
import androidx.compose.material3.Icon
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.ProvideTextStyle
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
@@ -22,8 +23,6 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.res.dimensionResource
import androidx.compose.ui.res.pluralStringResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.intl.Locale
import androidx.compose.ui.text.toUpperCase
import androidx.compose.ui.unit.dp
import androidx.constraintlayout.compose.ConstraintLayout
import com.hippo.ehviewer.R
@@ -32,24 +31,21 @@ import com.hippo.ehviewer.client.data.GalleryDetail
import com.hippo.ehviewer.client.data.GalleryInfo
@Composable
private fun GalleryDetailHeaderInfoCard(
galleryDetail: GalleryDetail,
fun GalleryDetailHeaderInfoCard(
detail: GalleryDetail,
onClick: () -> Unit,
modifier: Modifier,
) {
galleryDetail.run {
Card(
onClick = onClick,
modifier = modifier,
) {
ConstraintLayout(
modifier = Modifier.padding(8.dp),
) {
val (langRef, sizeRef, favRef, pagesRef, postRef) = createRefs()
modifier: Modifier = Modifier,
) = detail.run {
Card(
onClick = onClick,
modifier = modifier,
) {
ConstraintLayout(modifier = Modifier.padding(8.dp)) {
val (langRef, sizeRef, favRef, pagesRef, postRef) = createRefs()
ProvideTextStyle(MaterialTheme.typography.labelMedium) {
Text(
text = language.orEmpty(),
style = MaterialTheme.typography.labelMedium,
modifier = Modifier.constrainAs(langRef) {
top.linkTo(parent.top)
start.linkTo(parent.start)
@@ -57,55 +53,36 @@ private fun GalleryDetailHeaderInfoCard(
)
Text(
text = size.orEmpty(),
style = MaterialTheme.typography.labelMedium,
modifier = Modifier
.constrainAs(sizeRef) {
baseline.linkTo(langRef.baseline)
end.linkTo(parent.end)
horizontalBias = 1.0f
start.linkTo(langRef.end)
}
.padding(start = 16.dp),
modifier = Modifier.constrainAs(sizeRef) {
baseline.linkTo(langRef.baseline)
end.linkTo(parent.end)
horizontalBias = 1.0f
start.linkTo(langRef.end)
}.padding(start = 16.dp),
)
Text(
text = stringResource(
id = R.string.favored_times,
favoriteCount,
),
style = MaterialTheme.typography.labelMedium,
modifier = Modifier
.constrainAs(favRef) {
start.linkTo(parent.start)
top.linkTo(langRef.bottom)
}
.padding(top = 8.dp),
text = stringResource(id = R.string.favored_times, favoriteCount),
modifier = Modifier.constrainAs(favRef) {
start.linkTo(parent.start)
top.linkTo(langRef.bottom)
}.padding(top = 8.dp),
)
Text(
text = pluralStringResource(
id = R.plurals.page_count,
pages,
pages,
),
style = MaterialTheme.typography.labelMedium,
modifier = Modifier
.constrainAs(pagesRef) {
baseline.linkTo(favRef.baseline)
end.linkTo(parent.end)
horizontalBias = 1.0f
start.linkTo(favRef.end)
}
.padding(start = 16.dp),
text = pluralStringResource(id = R.plurals.page_count, pages, pages),
modifier = Modifier.constrainAs(pagesRef) {
baseline.linkTo(favRef.baseline)
end.linkTo(parent.end)
horizontalBias = 1.0f
start.linkTo(favRef.end)
}.padding(start = 16.dp),
)
Text(
text = posted.orEmpty(),
style = MaterialTheme.typography.labelMedium,
modifier = Modifier
.constrainAs(postRef) {
end.linkTo(parent.end)
start.linkTo(parent.start)
top.linkTo(favRef.bottom)
}
.padding(top = 8.dp),
modifier = Modifier.constrainAs(postRef) {
end.linkTo(parent.end)
start.linkTo(parent.start)
top.linkTo(favRef.bottom)
}.padding(top = 8.dp),
)
}
}
@@ -120,64 +97,53 @@ fun GalleryDetailHeaderCard(
onUploaderChipClick: () -> Unit,
onBlockUploaderIconClick: () -> Unit,
onCategoryChipClick: () -> Unit,
modifier: Modifier,
) {
ElevatedCard(
modifier = modifier,
) {
Row {
Card {
EhAsyncCropThumb(
model = galleryInfo.thumb,
modifier = Modifier
.height(dimensionResource(id = R.dimen.gallery_detail_thumb_height))
.width(dimensionResource(id = R.dimen.gallery_detail_thumb_width)),
modifier: Modifier = Modifier,
) = ElevatedCard(modifier = modifier) {
Row {
Card {
EhAsyncCropThumb(
model = galleryInfo.thumb,
modifier = Modifier.height(dimensionResource(id = R.dimen.gallery_detail_thumb_height)).width(dimensionResource(id = R.dimen.gallery_detail_thumb_width)),
)
}
Spacer(modifier = Modifier.weight(0.5F))
Column(
modifier = Modifier.height(dimensionResource(id = R.dimen.gallery_detail_thumb_height)),
horizontalAlignment = Alignment.End,
) {
galleryDetail?.let {
GalleryDetailHeaderInfoCard(
detail = it,
onClick = onInfoCardClick,
modifier = Modifier.padding(top = 8.dp, end = dimensionResource(id = R.dimen.keyline_margin)),
)
}
Spacer(modifier = Modifier.weight(0.5F))
Column(
modifier = Modifier.height(dimensionResource(id = R.dimen.gallery_detail_thumb_height)),
horizontalAlignment = Alignment.End,
) {
galleryDetail?.let {
GalleryDetailHeaderInfoCard(
galleryDetail = it,
onClick = onInfoCardClick,
modifier = Modifier.padding(
top = 8.dp,
end = dimensionResource(id = R.dimen.keyline_margin),
),
Spacer(modifier = Modifier.weight(1F))
val categoryText = EhUtils.getCategory(galleryInfo.category).uppercase()
AssistChip(
onClick = onCategoryChipClick,
label = { Text(text = categoryText, maxLines = 1) },
modifier = Modifier.padding(horizontal = dimensionResource(id = R.dimen.keyline_margin)),
leadingIcon = {
Icon(
imageVector = Icons.Default.Label,
contentDescription = null,
)
}
Spacer(modifier = Modifier.weight(1F))
val categoryText =
EhUtils.getCategory(galleryInfo.category).toUpperCase(Locale.current)
AssistChip(
onClick = onCategoryChipClick,
label = { Text(text = categoryText, maxLines = 1) },
modifier = Modifier.padding(horizontal = dimensionResource(id = R.dimen.keyline_margin)),
leadingIcon = {
Icon(
imageVector = Icons.Default.Label,
contentDescription = null,
)
},
)
val uploaderText = galleryInfo.uploader.orEmpty().toUpperCase(Locale.current)
AssistChip(
onClick = onUploaderChipClick,
label = { Text(text = uploaderText, maxLines = 1) },
modifier = Modifier.padding(horizontal = dimensionResource(id = R.dimen.keyline_margin)),
leadingIcon = {
Icon(
imageVector = Icons.Default.GroupOff,
contentDescription = null,
modifier = Modifier.clickable(onClick = onBlockUploaderIconClick),
)
},
)
}
},
)
val uploaderText = galleryInfo.uploader.orEmpty().uppercase()
AssistChip(
onClick = onUploaderChipClick,
label = { Text(text = uploaderText, maxLines = 1) },
modifier = Modifier.padding(horizontal = dimensionResource(id = R.dimen.keyline_margin)),
leadingIcon = {
Icon(
imageVector = Icons.Default.GroupOff,
contentDescription = null,
modifier = Modifier.clickable(onClick = onBlockUploaderIconClick),
)
},
)
}
}
}