feat: action sheet style tweak

This commit is contained in:
junkfood
2025-04-06 18:22:12 +08:00
parent a944faa1db
commit 96129e1990
2 changed files with 13 additions and 15 deletions

View File

@ -6,11 +6,9 @@ import androidx.compose.foundation.layout.IntrinsicSize
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.aspectRatio
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.LazyListScope
import androidx.compose.foundation.lazy.LazyRow
@ -47,7 +45,6 @@ import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.res.stringResource
@ -64,7 +61,6 @@ import com.junkfood.seal.download.Task.DownloadState.FetchingInfo
import com.junkfood.seal.download.Task.DownloadState.Idle
import com.junkfood.seal.download.Task.DownloadState.ReadyWithInfo
import com.junkfood.seal.download.Task.DownloadState.Running
import com.junkfood.seal.ui.common.AsyncImageImpl
import com.junkfood.seal.ui.common.LocalFixedColorRoles
import com.junkfood.seal.ui.component.ActionSheetItem
import com.junkfood.seal.ui.component.ActionSheetPrimaryButton
@ -208,17 +204,17 @@ private fun OpenThumbnailURLButton(modifier: Modifier = Modifier, onClick: () ->
fun Title(imageModel: Any?, title: String, author: String, downloadState: DownloadState) {
Row(
modifier = Modifier.fillMaxWidth().padding(horizontal = 12.dp),
modifier = Modifier.fillMaxWidth().padding(horizontal = 20.dp),
verticalAlignment = Alignment.CenterVertically,
) {
AsyncImageImpl(
/* AsyncImageImpl(
model = imageModel,
modifier =
Modifier.height(64.dp).aspectRatio(16f / 9f, matchHeightConstraintsFirst = true),
contentDescription = null,
contentScale = ContentScale.Crop,
)
Spacer(Modifier.width(12.dp))
)*/
// Spacer(Modifier.width(12.dp))
Column(modifier = Modifier.height(IntrinsicSize.Min)) {
Column(Modifier) {
@ -231,7 +227,7 @@ fun Title(imageModel: Any?, title: String, author: String, downloadState: Downlo
)
}
Spacer(modifier = Modifier.weight(1f))
Spacer(Modifier.height(3.dp))
Spacer(Modifier.height(8.dp))
ListItemStateText(downloadState = downloadState)
}
@ -259,7 +255,7 @@ fun SheetContent(
item {
LazyRow(
modifier = Modifier.padding(top = 16.dp, bottom = 24.dp),
modifier = Modifier.padding(top = 12.dp, bottom = 24.dp),
contentPadding = PaddingValues(horizontal = 4.dp),
) {
ActionButtons(

View File

@ -58,6 +58,7 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import com.junkfood.seal.R
import com.junkfood.seal.download.Task
import com.junkfood.seal.download.Task.DownloadState.Canceled
@ -159,6 +160,7 @@ fun VideoListItem(
uploader = uploader,
contentPadding = PaddingValues(),
)
Spacer(modifier = Modifier.height(4.dp))
stateIndicator?.invoke()
}
IconButton(
@ -397,7 +399,7 @@ fun ListItemStateText(
isDarkTheme: Boolean = LocalDarkTheme.current.isDarkTheme(),
downloadState: Task.DownloadState,
) {
val sizeModifier = Modifier.size(12.dp)
val sizeModifier = Modifier.size(14.dp)
AnimatedContent(
downloadState,
@ -453,24 +455,24 @@ fun ListItemStateText(
is FetchingInfo,
Idle,
ReadyWithInfo -> {
CircularProgressIndicator(modifier = sizeModifier, strokeWidth = 2.dp)
CircularProgressIndicator(modifier = sizeModifier, strokeWidth = 2.5.dp)
}
is Running -> {
val progress = downloadState.progress
CircularProgressIndicator(
progress = { progress },
modifier = sizeModifier,
strokeWidth = 2.dp,
strokeWidth = 2.5.dp,
)
}
}
Spacer(Modifier.width(4.dp))
Spacer(Modifier.width(8.dp))
Text(
text = text,
modifier = Modifier,
style = MaterialTheme.typography.labelSmall,
style = MaterialTheme.typography.labelMedium.merge(letterSpacing = 0.sp),
color = MaterialTheme.colorScheme.onSurfaceVariant,
)
}