'use client'; import { LeagueSponsorshipsSection } from '@/components/leagues/LeagueSponsorshipsSection'; import { StatefulPageWrapper } from '@/components/shared/state/StatefulPageWrapper'; import { useEffectiveDriverId } from "@/lib/hooks/useEffectiveDriverId"; import { LeagueRoleUtility } from '@/lib/utilities/LeagueRoleUtility'; import { useLeagueSponsorshipsPageData } from "@/lib/hooks/league/useLeagueSponsorshipsPageData"; import { ApiError } from '@/lib/api/base/ApiError'; import { Building } from 'lucide-react'; import { useParams } from 'next/navigation'; interface SponsorshipsData { league: any; isAdmin: boolean; } function SponsorshipsTemplate({ data }: { data: SponsorshipsData }) { return (
{/* Header */}

Sponsorships

Manage sponsorship slots and review requests

{/* Sponsorships Section */}
); } export default function LeagueSponsorshipsPage() { const params = useParams(); const leagueId = params.id as string; const currentDriverId = useEffectiveDriverId() || ''; // Fetch data using domain hook const { data, isLoading, error, refetch } = useLeagueSponsorshipsPageData(leagueId, currentDriverId); // Transform data for the template const transformedData: SponsorshipsData | undefined = data?.league && data.membership !== null ? { league: data.league, isAdmin: LeagueRoleUtility.isLeagueAdminOrHigherRole(data.membership?.role || 'member'), } : undefined; // Check if user is not admin to show appropriate state const isNotAdmin = transformedData && !transformedData.isAdmin; return ( ); }