mediahub-fe/app/[locale]/(protected)/components/carousel/autoplay-carousel.tsx

45 lines
1.3 KiB
TypeScript

"use client"
import { Card, CardContent } from "@/components/ui/card"
import Autoplay from "embla-carousel-autoplay"
import {
Carousel,
CarouselContent,
CarouselItem,
CarouselNext,
CarouselPrevious,
} from "@/components/ui/carousel"
import { useRef } from "react";
const AutoplayCarousel = () => {
const plugin = useRef(
Autoplay({ delay: 2000, stopOnInteraction: true })
)
return (
<Carousel
className="w-full max-w-sm mx-auto"
plugins={[plugin.current]}
onMouseEnter={plugin.current.stop}
onMouseLeave={plugin.current.reset}
>
<CarouselContent className="-ml-1">
{Array.from({ length: 5 }).map((_, index) => (
<CarouselItem key={index} className="pl-1 md:basis-1/2 lg:basis-1/3">
<div className="p-1">
<Card className="dark:border-default-300">
<CardContent className="flex aspect-square items-center justify-center p-6">
<span className="text-2xl font-semibold">{index + 1}</span>
</CardContent>
</Card>
</div>
</CarouselItem>
))}
</CarouselContent>
<CarouselPrevious />
<CarouselNext />
</Carousel>
);
};
export default AutoplayCarousel;