'use client' import { motion } from 'framer-motion' import { Check } from '@phosphor-icons/react' import { PulseMockup } from './mockups/pulse-mockup' import { PulseFeaturesCarousel } from './mockups/pulse-features-carousel' import { FunnelMockup } from './mockups/funnel-mockup' import { EmailReportMockup } from './mockups/email-report-mockup' // Section wrapper component for reuse function FeatureSection({ id, heading, description, features, mockup, reverse = false, showBg = true, }: { id: string heading: string description: string features: string[] mockup: React.ReactNode reverse?: boolean showBg?: boolean }) { return (
{/* Text */}

{heading}

{description}

    {features.map((item) => (
  • {item}
  • ))}
{/* Mockup container */} {showBg &&
}
{showBg && ( <>
)}
{mockup}
) } export default function FeatureSections() { return (
{/* Section 1: Dashboard — text left, mockup right */}
} /> {/* Section 2: Visitors — mockup left, text right */}
} /> {/* Section 3: Funnels — text left, mockup right */} } /> {/* Section 4: Reports — mockup left, text right */} } /> {/* Section 5: Script — text left, code block right (no showcase bg) */} {/* Code block with browser chrome */}
index.html
              
                {''}{'\n'}
                {'<'}
                script{'\n'}
                {'  '}defer{'\n'}
                {'  '}data-domain="yoursite.com"{'\n'}
                {'  '}src="https://pulse.ciphera.net/js/script.js"{'\n'}
                {'>'}
                {'
                script
                {'>'}
              
            
1.6 KB gzipped Non-blocking, async
} />
) }