fix: 无图片 / 视频时仍占位

This commit is contained in:
HuanCheng65 2023-10-08 00:25:38 +08:00
parent 4139f1a3f9
commit af3ce0a9a2
No known key found for this signature in database
GPG Key ID: 5EC9DD60A32C7360
1 changed files with 126 additions and 120 deletions

View File

@ -438,8 +438,8 @@ private fun ThreadMedia(
val mediaCount = remember(medias) {
medias.size
}
val hasMedia = remember(mediaCount) { mediaCount > 0 }
val isSingleMedia = remember(mediaCount) { mediaCount == 1 }
val hasPhoto = remember(mediaCount) { mediaCount > 0 }
val isSinglePhoto = remember(mediaCount) { mediaCount == 1 }
val hideMedia = context.appPreferences.hideMedia
@ -450,6 +450,11 @@ private fun ThreadMedia(
else 0.5f
}
val hasMedia = remember(hasPhoto, videoInfo) {
hasPhoto || videoInfo != null
}
if (hasMedia) {
Box(modifier = modifier) {
if (videoInfo != null) {
if (hideMedia) {
@ -491,12 +496,12 @@ private fun ThreadMedia(
)
}
}
} else if (hasMedia) {
val mediaWidthFraction = remember(isSingleMedia, singleMediaFraction) {
if (isSingleMedia) singleMediaFraction else 1f
} else if (hasPhoto) {
val mediaWidthFraction = remember(isSinglePhoto, singleMediaFraction) {
if (isSinglePhoto) singleMediaFraction else 1f
}
val mediaAspectRatio = remember(isSingleMedia) {
if (isSingleMedia) 2f else 3f
val mediaAspectRatio = remember(isSinglePhoto) {
if (isSinglePhoto) 2f else 3f
}
if (hideMedia) {
val photoViewData = remember(
@ -513,7 +518,7 @@ private fun ThreadMedia(
MediaPlaceholder(
icon = {
Icon(
imageVector = if (isSingleMedia) Icons.Rounded.Photo else Icons.Rounded.PhotoLibrary,
imageVector = if (isSinglePhoto) Icons.Rounded.Photo else Icons.Rounded.PhotoLibrary,
contentDescription = stringResource(id = R.string.desc_photo)
)
},
@ -580,6 +585,7 @@ private fun ThreadMedia(
}
}
}
}
@Composable
private fun ThreadMedia(
@ -826,7 +832,7 @@ fun FeedCard(
modifier: Modifier = Modifier,
onClickReply: (PostInfoList) -> Unit = {},
onClickUser: (id: Long) -> Unit = {},
onClickForum: (SimpleForum) -> Unit = {},
onClickForum: (name: String) -> Unit = {},
onClickOriginThread: (OriginThreadInfo) -> Unit = {},
) {
Card(
@ -874,7 +880,7 @@ fun FeedCard(
ThreadForumInfo(
forumName = item.get { forum_name },
forumAvatar = null,
onClick = {}
onClick = { onClickForum(item.get { forum_name }) }
)
},
action = {