some coil & compose improvements

This commit is contained in:
2024-07-15 16:43:59 +03:00
parent ad9a3e0c12
commit 9a1bce5707
6 changed files with 9 additions and 33 deletions
@@ -1,5 +1,8 @@
package com.meloda.app.fast.chatmaterials.model
import androidx.compose.runtime.Immutable
@Immutable
data class ChatMaterialsScreenState(
val isLoading: Boolean,
val materials: List<UiChatMaterial>,
@@ -10,21 +10,16 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.layout.ContentScale
import coil.ImageLoader
import coil.compose.AsyncImage
import com.meloda.app.fast.chatmaterials.model.UiChatMaterial
@Composable
fun ChatMaterialItem(
item: UiChatMaterial,
imageLoader: ImageLoader
) {
fun ChatMaterialItem(item: UiChatMaterial) {
when (item) {
is UiChatMaterial.Photo -> {
AsyncImage(
model = item.previewUrl,
contentDescription = null,
imageLoader = imageLoader,
contentScale = ContentScale.Crop,
modifier = Modifier
.fillMaxWidth()
@@ -36,7 +31,6 @@ fun ChatMaterialItem(
AsyncImage(
model = item.previewUrl,
contentDescription = null,
imageLoader = imageLoader,
contentScale = ContentScale.Crop,
modifier = Modifier
.fillMaxWidth()
@@ -57,13 +57,11 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.alpha
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.input.nestedscroll.nestedScroll
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.DpOffset
import androidx.compose.ui.unit.LayoutDirection
import androidx.compose.ui.unit.dp
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import coil.imageLoader
import com.meloda.app.fast.chatmaterials.ChatMaterialsViewModel
import com.meloda.app.fast.chatmaterials.ChatMaterialsViewModelImpl
import com.meloda.app.fast.chatmaterials.model.ChatMaterialsScreenState
@@ -109,8 +107,6 @@ fun ChatMaterialsScreen(
val attachments = screenState.materials
val imageLoader = LocalContext.current.imageLoader
var moreClearBlur by rememberSaveable {
mutableStateOf(false)
}
@@ -317,10 +313,7 @@ fun ChatMaterialsScreen(
}
}
items(attachments) { item ->
ChatMaterialItem(
item = item,
imageLoader = imageLoader
)
ChatMaterialItem(item = item)
}
repeat(3) {
item {
@@ -349,10 +342,7 @@ fun ChatMaterialsScreen(
Spacer(modifier = Modifier.height(padding.calculateTopPadding()))
}
items(attachments) { item ->
ChatMaterialItem(
item = item,
imageLoader = imageLoader
)
ChatMaterialItem(item = item)
}
item {
Spacer(modifier = Modifier.height(padding.calculateBottomPadding()))