chore: add FilterQuality to images
This commit is contained in:
parent
b92a658382
commit
c37e282d35
@ -38,6 +38,7 @@ import androidx.compose.ui.Alignment
|
|||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.draw.clip
|
import androidx.compose.ui.draw.clip
|
||||||
import androidx.compose.ui.graphics.ColorFilter
|
import androidx.compose.ui.graphics.ColorFilter
|
||||||
|
import androidx.compose.ui.graphics.FilterQuality
|
||||||
import androidx.compose.ui.graphics.SolidColor
|
import androidx.compose.ui.graphics.SolidColor
|
||||||
import androidx.compose.ui.layout.ContentScale
|
import androidx.compose.ui.layout.ContentScale
|
||||||
import androidx.compose.ui.platform.LocalDensity
|
import androidx.compose.ui.platform.LocalDensity
|
||||||
@ -82,7 +83,10 @@ class InboxChatScreen(
|
|||||||
val iconSize = 23.dp
|
val iconSize = 23.dp
|
||||||
val avatar = uiState.otherUserAvatar.orEmpty()
|
val avatar = uiState.otherUserAvatar.orEmpty()
|
||||||
if (avatar.isNotEmpty()) {
|
if (avatar.isNotEmpty()) {
|
||||||
val painterResource = asyncPainterResource(data = avatar)
|
val painterResource = asyncPainterResource(
|
||||||
|
data = avatar,
|
||||||
|
filterQuality = FilterQuality.Low,
|
||||||
|
)
|
||||||
KamelImage(
|
KamelImage(
|
||||||
modifier = Modifier.padding(Spacing.xxxs).size(iconSize)
|
modifier = Modifier.padding(Spacing.xxxs).size(iconSize)
|
||||||
.clip(RoundedCornerShape(iconSize / 2)),
|
.clip(RoundedCornerShape(iconSize / 2)),
|
||||||
|
@ -25,6 +25,7 @@ import androidx.compose.ui.Alignment
|
|||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.draw.clip
|
import androidx.compose.ui.draw.clip
|
||||||
import androidx.compose.ui.geometry.Offset
|
import androidx.compose.ui.geometry.Offset
|
||||||
|
import androidx.compose.ui.graphics.FilterQuality
|
||||||
import androidx.compose.ui.layout.ContentScale
|
import androidx.compose.ui.layout.ContentScale
|
||||||
import androidx.compose.ui.layout.onGloballyPositioned
|
import androidx.compose.ui.layout.onGloballyPositioned
|
||||||
import androidx.compose.ui.layout.positionInParent
|
import androidx.compose.ui.layout.positionInParent
|
||||||
@ -52,7 +53,10 @@ fun CommunityHeader(
|
|||||||
// banner
|
// banner
|
||||||
val banner = community.banner.orEmpty()
|
val banner = community.banner.orEmpty()
|
||||||
if (banner.isNotEmpty()) {
|
if (banner.isNotEmpty()) {
|
||||||
val painterResource = asyncPainterResource(banner)
|
val painterResource = asyncPainterResource(
|
||||||
|
data = banner,
|
||||||
|
filterQuality = FilterQuality.Medium,
|
||||||
|
)
|
||||||
KamelImage(
|
KamelImage(
|
||||||
modifier = Modifier.fillMaxSize(),
|
modifier = Modifier.fillMaxSize(),
|
||||||
resource = painterResource,
|
resource = painterResource,
|
||||||
@ -114,7 +118,10 @@ fun CommunityHeader(
|
|||||||
val communityIcon = community.icon.orEmpty()
|
val communityIcon = community.icon.orEmpty()
|
||||||
val avatarSize = 60.dp
|
val avatarSize = 60.dp
|
||||||
if (communityIcon.isNotEmpty()) {
|
if (communityIcon.isNotEmpty()) {
|
||||||
val painterResource = asyncPainterResource(data = communityIcon)
|
val painterResource = asyncPainterResource(
|
||||||
|
data = communityIcon,
|
||||||
|
filterQuality = FilterQuality.Low,
|
||||||
|
)
|
||||||
KamelImage(
|
KamelImage(
|
||||||
modifier = Modifier.padding(Spacing.xxxs).size(avatarSize)
|
modifier = Modifier.padding(Spacing.xxxs).size(avatarSize)
|
||||||
.clip(RoundedCornerShape(avatarSize / 2)),
|
.clip(RoundedCornerShape(avatarSize / 2)),
|
||||||
|
@ -14,6 +14,7 @@ import androidx.compose.runtime.Composable
|
|||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.draw.clip
|
import androidx.compose.ui.draw.clip
|
||||||
|
import androidx.compose.ui.graphics.FilterQuality
|
||||||
import androidx.compose.ui.layout.ContentScale
|
import androidx.compose.ui.layout.ContentScale
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing
|
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing
|
||||||
@ -40,7 +41,10 @@ fun CommunityItem(
|
|||||||
horizontalArrangement = Arrangement.spacedBy(Spacing.xs),
|
horizontalArrangement = Arrangement.spacedBy(Spacing.xs),
|
||||||
) {
|
) {
|
||||||
if (communityIcon.isNotEmpty()) {
|
if (communityIcon.isNotEmpty()) {
|
||||||
val painterResource = asyncPainterResource(data = communityIcon)
|
val painterResource = asyncPainterResource(
|
||||||
|
data = communityIcon,
|
||||||
|
filterQuality = FilterQuality.Medium,
|
||||||
|
)
|
||||||
KamelImage(
|
KamelImage(
|
||||||
modifier = Modifier.padding(Spacing.xxxs).size(iconSize)
|
modifier = Modifier.padding(Spacing.xxxs).size(iconSize)
|
||||||
.clip(RoundedCornerShape(iconSize / 2)),
|
.clip(RoundedCornerShape(iconSize / 2)),
|
||||||
|
@ -23,6 +23,7 @@ import androidx.compose.ui.Alignment
|
|||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.draw.clip
|
import androidx.compose.ui.draw.clip
|
||||||
import androidx.compose.ui.graphics.ColorFilter
|
import androidx.compose.ui.graphics.ColorFilter
|
||||||
|
import androidx.compose.ui.graphics.FilterQuality
|
||||||
import androidx.compose.ui.layout.ContentScale
|
import androidx.compose.ui.layout.ContentScale
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import com.github.diegoberaldin.racconforlemmy.core.utils.DateTime
|
import com.github.diegoberaldin.racconforlemmy.core.utils.DateTime
|
||||||
@ -79,7 +80,10 @@ fun InboxReplySubtitle(
|
|||||||
horizontalArrangement = Arrangement.spacedBy(Spacing.xs),
|
horizontalArrangement = Arrangement.spacedBy(Spacing.xs),
|
||||||
) {
|
) {
|
||||||
if (creatorAvatar.isNotEmpty()) {
|
if (creatorAvatar.isNotEmpty()) {
|
||||||
val painterResource = asyncPainterResource(data = creatorAvatar)
|
val painterResource = asyncPainterResource(
|
||||||
|
data = creatorAvatar,
|
||||||
|
filterQuality = FilterQuality.Low,
|
||||||
|
)
|
||||||
KamelImage(
|
KamelImage(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.padding(Spacing.xxxs)
|
.padding(Spacing.xxxs)
|
||||||
@ -125,7 +129,10 @@ fun InboxReplySubtitle(
|
|||||||
horizontalArrangement = Arrangement.spacedBy(Spacing.xs),
|
horizontalArrangement = Arrangement.spacedBy(Spacing.xs),
|
||||||
) {
|
) {
|
||||||
if (communityIcon.isNotEmpty()) {
|
if (communityIcon.isNotEmpty()) {
|
||||||
val painterResource = asyncPainterResource(data = communityIcon)
|
val painterResource =asyncPainterResource(
|
||||||
|
data = communityIcon,
|
||||||
|
filterQuality = FilterQuality.Low,
|
||||||
|
)
|
||||||
KamelImage(
|
KamelImage(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.padding(Spacing.xxxs)
|
.padding(Spacing.xxxs)
|
||||||
|
@ -8,6 +8,7 @@ import androidx.compose.material3.Text
|
|||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.draw.blur
|
import androidx.compose.ui.draw.blur
|
||||||
|
import androidx.compose.ui.graphics.FilterQuality
|
||||||
import androidx.compose.ui.layout.ContentScale
|
import androidx.compose.ui.layout.ContentScale
|
||||||
import androidx.compose.ui.text.style.TextAlign
|
import androidx.compose.ui.text.style.TextAlign
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
@ -25,7 +26,10 @@ fun PostCardImage(
|
|||||||
onImageClick: ((String) -> Unit)? = null,
|
onImageClick: ((String) -> Unit)? = null,
|
||||||
) {
|
) {
|
||||||
if (imageUrl.isNotEmpty()) {
|
if (imageUrl.isNotEmpty()) {
|
||||||
val painterResource = asyncPainterResource(data = imageUrl)
|
val painterResource = asyncPainterResource(
|
||||||
|
data = imageUrl,
|
||||||
|
filterQuality = FilterQuality.Medium,
|
||||||
|
)
|
||||||
KamelImage(
|
KamelImage(
|
||||||
modifier = modifier.fillMaxWidth()
|
modifier = modifier.fillMaxWidth()
|
||||||
.heightIn(min = 200.dp)
|
.heightIn(min = 200.dp)
|
||||||
|
@ -13,6 +13,7 @@ import androidx.compose.ui.Alignment
|
|||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.draw.clip
|
import androidx.compose.ui.draw.clip
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
|
import androidx.compose.ui.graphics.FilterQuality
|
||||||
import androidx.compose.ui.layout.ContentScale
|
import androidx.compose.ui.layout.ContentScale
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import com.github.diegoberaldin.racconforlemmy.core.utils.onClick
|
import com.github.diegoberaldin.racconforlemmy.core.utils.onClick
|
||||||
@ -58,7 +59,10 @@ fun PostCardSubtitle(
|
|||||||
horizontalArrangement = Arrangement.spacedBy(Spacing.xs),
|
horizontalArrangement = Arrangement.spacedBy(Spacing.xs),
|
||||||
) {
|
) {
|
||||||
if (communityIcon.isNotEmpty()) {
|
if (communityIcon.isNotEmpty()) {
|
||||||
val painterResource = asyncPainterResource(data = communityIcon)
|
val painterResource = asyncPainterResource(
|
||||||
|
data = communityIcon,
|
||||||
|
filterQuality = FilterQuality.Low,
|
||||||
|
)
|
||||||
KamelImage(
|
KamelImage(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.padding(Spacing.xxxs)
|
.padding(Spacing.xxxs)
|
||||||
@ -105,7 +109,10 @@ fun PostCardSubtitle(
|
|||||||
horizontalArrangement = Arrangement.spacedBy(Spacing.xs),
|
horizontalArrangement = Arrangement.spacedBy(Spacing.xs),
|
||||||
) {
|
) {
|
||||||
if (creatorAvatar.isNotEmpty()) {
|
if (creatorAvatar.isNotEmpty()) {
|
||||||
val painterResource = asyncPainterResource(data = creatorAvatar)
|
val painterResource = asyncPainterResource(
|
||||||
|
data = creatorAvatar,
|
||||||
|
filterQuality = FilterQuality.Low,
|
||||||
|
)
|
||||||
KamelImage(
|
KamelImage(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.padding(Spacing.xxxs)
|
.padding(Spacing.xxxs)
|
||||||
|
@ -26,6 +26,7 @@ import androidx.compose.runtime.Composable
|
|||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.draw.clip
|
import androidx.compose.ui.draw.clip
|
||||||
|
import androidx.compose.ui.graphics.FilterQuality
|
||||||
import androidx.compose.ui.layout.ContentScale
|
import androidx.compose.ui.layout.ContentScale
|
||||||
import androidx.compose.ui.text.style.TextAlign
|
import androidx.compose.ui.text.style.TextAlign
|
||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
@ -53,7 +54,10 @@ fun UserHeader(
|
|||||||
// banner
|
// banner
|
||||||
val banner = user.banner.orEmpty()
|
val banner = user.banner.orEmpty()
|
||||||
if (banner.isNotEmpty()) {
|
if (banner.isNotEmpty()) {
|
||||||
val painterResource = asyncPainterResource(banner)
|
val painterResource = asyncPainterResource(
|
||||||
|
data = banner,
|
||||||
|
filterQuality = FilterQuality.Low,
|
||||||
|
)
|
||||||
KamelImage(
|
KamelImage(
|
||||||
modifier = Modifier.fillMaxSize(),
|
modifier = Modifier.fillMaxSize(),
|
||||||
resource = painterResource,
|
resource = painterResource,
|
||||||
@ -86,8 +90,10 @@ fun UserHeader(
|
|||||||
val userAvatar = user.avatar.orEmpty()
|
val userAvatar = user.avatar.orEmpty()
|
||||||
val avatarSize = 60.dp
|
val avatarSize = 60.dp
|
||||||
if (userAvatar.isNotEmpty()) {
|
if (userAvatar.isNotEmpty()) {
|
||||||
val painterResource =
|
val painterResource = asyncPainterResource(
|
||||||
asyncPainterResource(data = userAvatar)
|
data = userAvatar,
|
||||||
|
filterQuality = FilterQuality.Low,
|
||||||
|
)
|
||||||
KamelImage(
|
KamelImage(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.padding(Spacing.xxxs)
|
.padding(Spacing.xxxs)
|
||||||
|
@ -13,6 +13,7 @@ import androidx.compose.runtime.Composable
|
|||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.draw.clip
|
import androidx.compose.ui.draw.clip
|
||||||
|
import androidx.compose.ui.graphics.FilterQuality
|
||||||
import androidx.compose.ui.layout.ContentScale
|
import androidx.compose.ui.layout.ContentScale
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing
|
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing
|
||||||
@ -38,7 +39,10 @@ fun UserItem(
|
|||||||
horizontalArrangement = Arrangement.spacedBy(Spacing.xs),
|
horizontalArrangement = Arrangement.spacedBy(Spacing.xs),
|
||||||
) {
|
) {
|
||||||
if (avatar.isNotEmpty()) {
|
if (avatar.isNotEmpty()) {
|
||||||
val painterResource = asyncPainterResource(data = avatar)
|
val painterResource = asyncPainterResource(
|
||||||
|
data = avatar,
|
||||||
|
filterQuality = FilterQuality.Low,
|
||||||
|
)
|
||||||
KamelImage(
|
KamelImage(
|
||||||
modifier = Modifier.padding(Spacing.xxxs).size(iconSize)
|
modifier = Modifier.padding(Spacing.xxxs).size(iconSize)
|
||||||
.clip(RoundedCornerShape(iconSize / 2)),
|
.clip(RoundedCornerShape(iconSize / 2)),
|
||||||
|
@ -17,6 +17,7 @@ import androidx.compose.ui.Alignment
|
|||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.draw.clip
|
import androidx.compose.ui.draw.clip
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
|
import androidx.compose.ui.graphics.FilterQuality
|
||||||
import androidx.compose.ui.graphics.RectangleShape
|
import androidx.compose.ui.graphics.RectangleShape
|
||||||
import androidx.compose.ui.graphics.graphicsLayer
|
import androidx.compose.ui.graphics.graphicsLayer
|
||||||
import androidx.compose.ui.input.pointer.pointerInput
|
import androidx.compose.ui.input.pointer.pointerInput
|
||||||
@ -47,7 +48,10 @@ fun ZoomableImage(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
) {
|
) {
|
||||||
val painterResource = asyncPainterResource(url)
|
val painterResource = asyncPainterResource(
|
||||||
|
data = url,
|
||||||
|
filterQuality = FilterQuality.Medium,
|
||||||
|
)
|
||||||
KamelImage(
|
KamelImage(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.align(Alignment.Center)
|
.align(Alignment.Center)
|
||||||
|
@ -6,6 +6,7 @@ import androidx.compose.material3.MaterialTheme
|
|||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.compose.ui.graphics.FilterQuality
|
||||||
import androidx.compose.ui.layout.ContentScale
|
import androidx.compose.ui.layout.ContentScale
|
||||||
import androidx.compose.ui.text.style.TextAlign
|
import androidx.compose.ui.text.style.TextAlign
|
||||||
import com.github.diegoberaldin.raccoonforlemmy.core.markdown.utils.findChildOfTypeRecursive
|
import com.github.diegoberaldin.raccoonforlemmy.core.markdown.utils.findChildOfTypeRecursive
|
||||||
@ -23,7 +24,10 @@ internal fun MarkdownImage(content: String, node: ASTNode) {
|
|||||||
node.findChildOfTypeRecursive(MarkdownElementTypes.LINK_DESTINATION)?.getTextInNode(content)
|
node.findChildOfTypeRecursive(MarkdownElementTypes.LINK_DESTINATION)?.getTextInNode(content)
|
||||||
?.toString() ?: return
|
?.toString() ?: return
|
||||||
|
|
||||||
val painterResource = asyncPainterResource(data = link)
|
val painterResource = asyncPainterResource(
|
||||||
|
data = link,
|
||||||
|
filterQuality = FilterQuality.Medium,
|
||||||
|
)
|
||||||
KamelImage(
|
KamelImage(
|
||||||
resource = painterResource,
|
resource = painterResource,
|
||||||
contentDescription = null,
|
contentDescription = null,
|
||||||
|
@ -10,6 +10,7 @@ import androidx.compose.runtime.Composable
|
|||||||
import androidx.compose.runtime.mutableStateOf
|
import androidx.compose.runtime.mutableStateOf
|
||||||
import androidx.compose.runtime.remember
|
import androidx.compose.runtime.remember
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.compose.ui.graphics.FilterQuality
|
||||||
import androidx.compose.ui.input.pointer.pointerInput
|
import androidx.compose.ui.input.pointer.pointerInput
|
||||||
import androidx.compose.ui.layout.ContentScale
|
import androidx.compose.ui.layout.ContentScale
|
||||||
import androidx.compose.ui.text.AnnotatedString
|
import androidx.compose.ui.text.AnnotatedString
|
||||||
@ -80,7 +81,10 @@ internal fun MarkdownText(
|
|||||||
PlaceholderVerticalAlign.Bottom,
|
PlaceholderVerticalAlign.Bottom,
|
||||||
), // TODO, identify flexible scaling!
|
), // TODO, identify flexible scaling!
|
||||||
) { link ->
|
) { link ->
|
||||||
val painterResource = asyncPainterResource(data = link)
|
val painterResource = asyncPainterResource(
|
||||||
|
data = link,
|
||||||
|
filterQuality = FilterQuality.Low,
|
||||||
|
)
|
||||||
KamelImage(
|
KamelImage(
|
||||||
resource = painterResource,
|
resource = painterResource,
|
||||||
contentDescription = null,
|
contentDescription = null,
|
||||||
|
@ -17,6 +17,7 @@ import androidx.compose.runtime.Composable
|
|||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.draw.clip
|
import androidx.compose.ui.draw.clip
|
||||||
|
import androidx.compose.ui.graphics.FilterQuality
|
||||||
import androidx.compose.ui.layout.ContentScale
|
import androidx.compose.ui.layout.ContentScale
|
||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
@ -53,7 +54,10 @@ internal fun ChatCard(
|
|||||||
val iconSize = 46.dp
|
val iconSize = 46.dp
|
||||||
|
|
||||||
if (creatorAvatar.isNotEmpty()) {
|
if (creatorAvatar.isNotEmpty()) {
|
||||||
val painterResource = asyncPainterResource(data = creatorAvatar)
|
val painterResource = asyncPainterResource(
|
||||||
|
data = creatorAvatar,
|
||||||
|
filterQuality = FilterQuality.Low,
|
||||||
|
)
|
||||||
KamelImage(
|
KamelImage(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.padding(Spacing.xxxs)
|
.padding(Spacing.xxxs)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user