|
@@ -7,23 +7,29 @@ import androidx.compose.foundation.layout.fillMaxSize
|
|
|
import androidx.compose.foundation.lazy.grid.GridCells
|
|
import androidx.compose.foundation.lazy.grid.GridCells
|
|
|
import androidx.compose.foundation.lazy.grid.LazyVerticalGrid
|
|
import androidx.compose.foundation.lazy.grid.LazyVerticalGrid
|
|
|
import androidx.compose.runtime.Composable
|
|
import androidx.compose.runtime.Composable
|
|
|
|
|
+import androidx.compose.runtime.LaunchedEffect
|
|
|
import androidx.compose.ui.Modifier
|
|
import androidx.compose.ui.Modifier
|
|
|
import androidx.compose.ui.layout.ContentScale
|
|
import androidx.compose.ui.layout.ContentScale
|
|
|
import androidx.compose.ui.platform.LocalContext
|
|
import androidx.compose.ui.platform.LocalContext
|
|
|
import androidx.compose.ui.unit.dp
|
|
import androidx.compose.ui.unit.dp
|
|
|
import coil.compose.AsyncImage
|
|
import coil.compose.AsyncImage
|
|
|
import coil.request.ImageRequest
|
|
import coil.request.ImageRequest
|
|
|
-import com.sirekanian.spacetime.data.URLS
|
|
|
|
|
|
|
+import com.sirekanian.spacetime.model.Thumbnail
|
|
|
|
|
|
|
|
@Composable
|
|
@Composable
|
|
|
-fun GalleryPageContent(insets: PaddingValues, onSelect: (String) -> Unit) {
|
|
|
|
|
|
|
+fun GalleryPageContent(
|
|
|
|
|
+ insets: PaddingValues,
|
|
|
|
|
+ thumbnails: List<Thumbnail>,
|
|
|
|
|
+ onSelect: (String) -> Unit,
|
|
|
|
|
+ onEnd: () -> Unit,
|
|
|
|
|
+) {
|
|
|
LazyVerticalGrid(
|
|
LazyVerticalGrid(
|
|
|
columns = GridCells.Adaptive(100.dp),
|
|
columns = GridCells.Adaptive(100.dp),
|
|
|
modifier = Modifier.fillMaxSize(),
|
|
modifier = Modifier.fillMaxSize(),
|
|
|
contentPadding = insets,
|
|
contentPadding = insets,
|
|
|
) {
|
|
) {
|
|
|
- items(URLS.size) { index ->
|
|
|
|
|
- val url = URLS[index]
|
|
|
|
|
|
|
+ items(thumbnails.size) { index ->
|
|
|
|
|
+ val url = thumbnails[index].url
|
|
|
AsyncImage(
|
|
AsyncImage(
|
|
|
model = ImageRequest.Builder(LocalContext.current)
|
|
model = ImageRequest.Builder(LocalContext.current)
|
|
|
.data(url)
|
|
.data(url)
|
|
@@ -36,5 +42,10 @@ fun GalleryPageContent(insets: PaddingValues, onSelect: (String) -> Unit) {
|
|
|
contentScale = ContentScale.Crop,
|
|
contentScale = ContentScale.Crop,
|
|
|
)
|
|
)
|
|
|
}
|
|
}
|
|
|
|
|
+ item {
|
|
|
|
|
+ LaunchedEffect(Unit) {
|
|
|
|
|
+ onEnd()
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|