feat(gallery): scroll to carousel current index

This commit is contained in:
2025-12-31 12:42:00 +01:00
parent 684e41f17d
commit 8e228f05b3
2 changed files with 22 additions and 4 deletions

View File

@@ -170,10 +170,20 @@ const galleryModal = overlay.create(LazyGalleryModal);
const openModal = async (image: ImageMetadata) => {
const index = images.indexOf(image);
if (index !== -1) {
galleryModal.open({
const instance = galleryModal.open({
images,
initialIndex: index,
});
const newIndex: number = await instance.result;
if (newIndex !== index) {
const targetElement = document.querySelector(
`[data-image-index="${newIndex}"]`,
);
if (targetElement) {
targetElement.scrollIntoView({ behavior: "instant", block: "center" });
}
}
}
};
@@ -219,6 +229,7 @@ onUnmounted(() => {
<div
v-for="(image, idx) in getColumnImages(col)"
:key="idx"
:data-image-index="images.indexOf(image)"
class="relative overflow-hidden rounded-sm bg-black cursor-pointer transition-transform"
@click="openModal(image)"
>