import { headers } from 'next/headers'; import { redirect } from 'next/navigation'; import { createRouteGuard } from '@/lib/auth/createRouteGuard'; import { Box } from '@/ui/Box'; interface SponsorLayoutProps { children: React.ReactNode; } /** * Sponsor Layout * * Provides authentication protection for all sponsor-related routes. * Uses RouteGuard to enforce access control server-side. */ export default async function SponsorLayout({ children }: SponsorLayoutProps) { const headerStore = await headers(); const pathname = headerStore.get('x-pathname') || '/'; const guard = createRouteGuard(); const result = await guard.enforce({ pathname }); if (result.type === 'redirect') { redirect(result.to); } return ( {children} ); }