mirror of
https://github.com/Aviortheking/Neo-Store.git
synced 2025-04-23 19:32:16 +00:00
Fix ScreenshotList.kt
This commit is contained in:
parent
09045d479c
commit
77f0310bd2
@ -8,22 +8,30 @@ import androidx.compose.foundation.layout.wrapContentWidth
|
|||||||
import androidx.compose.foundation.lazy.LazyRow
|
import androidx.compose.foundation.lazy.LazyRow
|
||||||
import androidx.compose.foundation.lazy.items
|
import androidx.compose.foundation.lazy.items
|
||||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.*
|
||||||
import androidx.compose.runtime.getValue
|
|
||||||
import androidx.compose.runtime.mutableStateOf
|
|
||||||
import androidx.compose.runtime.remember
|
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.compose.ui.draw.clip
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.core.net.toUri
|
import com.looker.droidify.database.entity.Repository
|
||||||
import com.looker.droidify.entity.Screenshot
|
import com.looker.droidify.entity.Screenshot
|
||||||
|
import com.looker.droidify.network.CoilDownloader
|
||||||
import com.looker.droidify.ui.compose.theme.LocalShapes
|
import com.looker.droidify.ui.compose.theme.LocalShapes
|
||||||
import com.looker.droidify.ui.compose.utils.NetworkImage
|
import com.looker.droidify.ui.compose.utils.NetworkImage
|
||||||
|
|
||||||
|
data class ScreenshotItem(
|
||||||
|
val screenShot: Screenshot,
|
||||||
|
val repository: Repository,
|
||||||
|
val packageName: String
|
||||||
|
)
|
||||||
|
|
||||||
|
fun Screenshot.toScreenshotItem(packageName: String, repository: Repository) =
|
||||||
|
ScreenshotItem(this, repository, packageName)
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun ScreenshotList(
|
fun ScreenshotList(
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
screenShots: List<Screenshot>,
|
screenShots: List<ScreenshotItem>,
|
||||||
onScreenShotClick: (Screenshot) -> Unit
|
onScreenShotClick: (Screenshot) -> Unit = {}
|
||||||
) {
|
) {
|
||||||
val screenShotList by remember { mutableStateOf(screenShots) }
|
val screenShotList by remember { mutableStateOf(screenShots) }
|
||||||
LazyRow(
|
LazyRow(
|
||||||
@ -31,13 +39,24 @@ fun ScreenshotList(
|
|||||||
horizontalArrangement = Arrangement.spacedBy(8.dp)
|
horizontalArrangement = Arrangement.spacedBy(8.dp)
|
||||||
) {
|
) {
|
||||||
items(screenShotList) {
|
items(screenShotList) {
|
||||||
|
|
||||||
|
var image by remember { mutableStateOf<String?>(null) }
|
||||||
|
|
||||||
|
SideEffect {
|
||||||
|
image = CoilDownloader.createScreenshotUri(
|
||||||
|
it.repository,
|
||||||
|
it.packageName,
|
||||||
|
it.screenShot
|
||||||
|
).toString()
|
||||||
|
}
|
||||||
|
|
||||||
NetworkImage(
|
NetworkImage(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.wrapContentWidth()
|
.wrapContentWidth()
|
||||||
.requiredHeight(120.dp)
|
.requiredHeight(300.dp)
|
||||||
.clickable { onScreenShotClick(it) },
|
.clip(RoundedCornerShape(LocalShapes.current.large))
|
||||||
data = it.path,
|
.clickable { onScreenShotClick(it.screenShot) },
|
||||||
shape = RoundedCornerShape(LocalShapes.current.large)
|
data = image
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user