'use client' import { useState, useEffect, useCallback } from 'react' import Image from 'next/image' import { AnimatePresence, motion } from 'framer-motion' import { PulseMockup } from '@/components/marketing/mockups/pulse-mockup' import { PagesCard, ReferrersCard, LocationsCard, TechnologyCard, PeakHoursCard } from '@/components/marketing/mockups/pulse-features-carousel' import { FunnelMockup } from '@/components/marketing/mockups/funnel-mockup' import { EmailReportMockup } from '@/components/marketing/mockups/email-report-mockup' interface Slide { headline: string mockup: React.ReactNode } function FeatureCard({ children }: { children: React.ReactNode }) { return (
{children}
) } const slides: Slide[] = [ { headline: 'Your traffic, at a glance.', mockup: }, { headline: 'See which pages perform best.', mockup: }, { headline: 'Know where your visitors come from.', mockup: }, { headline: 'Visitors from around the world.', mockup: }, { headline: 'Understand your audience's tech stack.', mockup: }, { headline: 'Find your peak traffic hours.', mockup: }, { headline: 'See where visitors drop off.', mockup: }, { headline: 'Reports delivered to your inbox.', mockup: }, ] export default function FeatureSlideshow() { const [activeIndex, setActiveIndex] = useState(0) const advance = useCallback(() => { setActiveIndex((prev) => (prev + 1) % slides.length) }, []) useEffect(() => { const timer = setInterval(advance, 5000) return () => clearInterval(timer) }, [advance]) const slide = slides[activeIndex] return (
{/* Background image */} {/* Dark overlay */}
{/* Content */}
{/* Headline — centered */}

{slide.headline}

{/* Mockup — constrained */}
{/* Orange glow */}
{slide.mockup}
) }