import { motion, useReducedMotion, AnimatePresence } from 'framer-motion'; import Card from '@/components/ui/Card'; import Button from '@/components/ui/Button'; import StatusBadge from '@/components/ui/StatusBadge'; import InfoBanner from '@/components/ui/InfoBanner'; import MetricCard from '@/components/sponsors/MetricCard'; import SponsorshipCategoryCard from '@/components/sponsors/SponsorshipCategoryCard'; import ActivityItem from '@/components/sponsors/ActivityItem'; import RenewalAlert from '@/components/sponsors/RenewalAlert'; import { BarChart3, Eye, Users, Trophy, TrendingUp, Calendar, DollarSign, Target, ArrowUpRight, ArrowDownRight, ExternalLink, Loader2, Car, Flag, Megaphone, ChevronRight, Plus, Bell, Settings, CreditCard, FileText, RefreshCw } from 'lucide-react'; import Link from 'next/link'; import type { SponsorDashboardViewData } from '@/lib/view-data/SponsorDashboardViewData'; interface SponsorDashboardTemplateProps { viewData: SponsorDashboardViewData; } export function SponsorDashboardTemplate({ viewData }: SponsorDashboardTemplateProps) { const shouldReduceMotion = useReducedMotion(); const categoryData = viewData.categoryData; return (
{/* Header */}

Sponsor Dashboard

Welcome back, {viewData.sponsorName}

{/* Time Range Selector */}
{(['7d', '30d', '90d', 'all'] as const).map((range) => ( ))}
{/* Quick Actions */}
{/* Key Metrics */}
{/* Sponsorship Categories */}

Your Sponsorships

{/* Main Content Grid */}
{/* Left Column - Sponsored Entities */}
{/* Top Performing Sponsorships */}

Top Performing

{/* Mock data for now */}
Main
Sample League
Sample details
1.2k
impressions
{/* Upcoming Events */}

Upcoming Sponsored Events

No upcoming sponsored events

{/* Right Column - Activity & Quick Actions */}
{/* Quick Actions */}

Quick Actions

{/* Renewal Alerts */} {viewData.upcomingRenewals.length > 0 && (

Upcoming Renewals

{viewData.upcomingRenewals.map((renewal: any) => ( ))}
)} {/* Recent Activity */}

Recent Activity

{viewData.recentActivity.map((activity: any) => ( ))}
{/* Investment Summary */}

Investment Summary

Active Sponsorships {viewData.activeSponsorships}
Total Investment {viewData.formattedTotalInvestment}
Cost per 1K Views {viewData.costPerThousandViews}
Next Invoice Jan 1, 2026
); }