"use client"; import { useEffect, useState } from "react"; import { featuresSection } from "@/data/site"; export function FeaturesCarousel() { const items = featuresSection.items; const [index, setIndex] = useState(0); const [perView, setPerView] = useState(3); useEffect(() => { const update = () => { const w = window.innerWidth; if (w < 768) setPerView(1); else if (w < 992) setPerView(2); else setPerView(3); }; update(); window.addEventListener("resize", update); return () => window.removeEventListener("resize", update); }, []); useEffect(() => { if (items.length <= perView) return; const id = window.setInterval(() => { setIndex((i) => (i + 1) % items.length); }, 3000); return () => window.clearInterval(id); }, [items.length, perView]); const visible = perView >= items.length ? items : Array.from({ length: perView }, (_, i) => items[(index + i) % items.length]); const showNav = items.length > perView; return (
آسانسور پارس
{featuresSection.eyebrow}

{featuresSection.title}

{/* side intro — ~1/4 */}
{featuresSection.sideLabel}

{featuresSection.sideTitle}

{showNav && (
)}
{/* cards — show 3 on desktop like original */}
{visible.map((item, i) => (
= items.length ? item.number : `${index}-${i}`}`} className="border border-black/[0.08] bg-white" >
{item.number}

{item.title}

{item.description}

))}
); }