'use client'; import React, { useState, useEffect } from 'react'; import { motion } from 'framer-motion'; import Image from 'next/image'; import { FaArrowLeft, FaArrowRight } from 'react-icons/fa'; interface Carousel3DProps { images: string[]; } const Carousel360: React.FC = ({ images }) => { const [rotation, setRotation] = useState(0); const [centerImage, setCenterImage] = useState(images[0]); const numimages = images.length; useEffect(() => { const interval = setInterval(() => { setRotation((prevRotation) => prevRotation + 360 / numimages); }, 2000); return () => clearInterval(interval); }, [numimages]); useEffect(() => { const index = Math.round((rotation % 360) / (360 / numimages)) % numimages; setCenterImage(images[index < 0 ? numimages + index : index]); }, [rotation, numimages, images]); const rotateCarousel = (direction: 'left' | 'right') => { const newRotation = rotation + (direction === 'left' ? -360 / numimages : 360 / numimages); setRotation(newRotation); }; return (
{/* Carousel Container */}
{images.map((item, index) => (
{`Carousel
))} {/* Central Image */}
Central Large Image
{/* Buttons */}
{/* Overlay */}
); }; export default Carousel360;