'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 (
{step.description}
{step.description}
Step {activeStep + 1} of {WORKFLOW_STEPS.length}
{WORKFLOW_STEPS[activeStep].title}