'use client'; import { motion, useReducedMotion, AnimatePresence } from 'framer-motion'; import { useEffect, useState } from 'react'; import { Search, MousePointer, CreditCard, CheckCircle2, Car, Eye, TrendingUp, Building2 } from 'lucide-react'; interface WorkflowStep { id: number; icon: typeof Search; title: string; description: string; color: string; } const WORKFLOW_STEPS: WorkflowStep[] = [ { id: 1, icon: Search, title: 'Browse Leagues', description: 'Find leagues that match your target audience', color: 'text-primary-blue', }, { id: 2, icon: MousePointer, title: 'Select Tier', description: 'Choose main or secondary sponsorship slot', color: 'text-purple-400', }, { id: 3, icon: CreditCard, title: 'Complete Payment', description: 'Secure payment with automatic invoicing', color: 'text-warning-amber', }, { id: 4, icon: Car, title: 'Logo Placement', description: 'Your brand on liveries and league pages', color: 'text-performance-green', }, { id: 5, icon: TrendingUp, title: 'Track Results', description: 'Monitor impressions and engagement', color: 'text-primary-blue', }, ]; export default function SponsorWorkflowMockup() { const shouldReduceMotion = useReducedMotion(); const [isMounted, setIsMounted] = useState(false); const [activeStep, setActiveStep] = useState(0); useEffect(() => { setIsMounted(true); }, []); useEffect(() => { if (!isMounted) return; const interval = setInterval(() => { setActiveStep((prev) => (prev + 1) % WORKFLOW_STEPS.length); }, 3000); return () => clearInterval(interval); }, [isMounted]); if (!isMounted) { return (
{WORKFLOW_STEPS.map((step) => (

{step.title}

{step.description}

))}
); } return (
{/* Connection Lines */}
{/* Steps */}
{WORKFLOW_STEPS.map((step, index) => { const isActive = index === activeStep; const isCompleted = index < activeStep; const StepIcon = step.icon; return ( setActiveStep(index)} whileHover={{ scale: 1.05 }} whileTap={{ scale: 0.95 }} > {isCompleted ? ( ) : ( )}

{step.title}

{step.description}

); })}
{/* Active Step Preview */}
{(() => { const Icon = WORKFLOW_STEPS[activeStep].icon; return ; })()}

Step {activeStep + 1} of {WORKFLOW_STEPS.length}

{WORKFLOW_STEPS[activeStep].title}

); }