This commit is contained in:
2025-04-25 14:41:17 -03:00
parent d82e18c67c
commit 293444f421
10 changed files with 35 additions and 34 deletions

View File

@@ -1,7 +1,7 @@
---
import { Icon } from 'astro-icon/components'
import { Icon } from "astro-icon/components";
const { items = [] } = Astro.props
const { items = [] } = Astro.props;
---
<div id="carousel" class="relative">
@@ -26,8 +26,12 @@ const { items = [] } = Astro.props
>
{
items.map((Component, idx) => (
<div class="snap-center flex-shrink-0 max-lg:w-full flex justify-center itens-center">
<Component class="size-48 lg:size-38 fill-white" id={`slide${idx + 1}`} />
<div
class="snap-center flex-shrink-0 max-lg:w-full flex justify-center itens-center"
id={`slide${idx + 1}`}
>
<Component />
<!-- <Component class="size-48 lg:size-38 fill-white" /> -->
</div>
))
}
@@ -35,26 +39,26 @@ const { items = [] } = Astro.props
</div>
<script>
const carousel = document.getElementById('carousel')
const slides = carousel.querySelectorAll('.snap-center')
let currentIndex = 0
const carousel = document.getElementById("carousel");
const slides = carousel.querySelectorAll(".snap-center");
let currentIndex = 0;
const scrollToSlide = (index: number) => {
if (index >= 0 && index < slides.length) {
slides[index].scrollIntoView({
behavior: 'smooth',
block: 'nearest',
inline: 'center',
})
currentIndex = index
behavior: "smooth",
block: "nearest",
inline: "center",
});
currentIndex = index;
}
}
};
document.getElementById('prev').addEventListener('click', () => {
scrollToSlide(currentIndex - 1)
})
document.getElementById("prev").addEventListener("click", () => {
scrollToSlide(currentIndex - 1);
});
document.getElementById('next').addEventListener('click', () => {
scrollToSlide(currentIndex + 1)
})
document.getElementById("next").addEventListener("click", () => {
scrollToSlide(currentIndex + 1);
});
</script>