import { redirect } from 'next/navigation' import { prisma } from '@/lib/prisma' import { requireRole } from '@/lib/auth-redirect' import { ApplicantNav } from '@/components/layouts/applicant-nav' export const dynamic = 'force-dynamic' export default async function ApplicantLayout({ children, }: { children: React.ReactNode }) { const session = await requireRole('APPLICANT') const isImpersonating = !!session.user.impersonating // Check if user has completed onboarding (skip during impersonation) if (!isImpersonating) { const user = await prisma.user.findUnique({ where: { id: session.user.id }, select: { onboardingCompletedAt: true }, }) if (!user) { redirect('/login') } if (!user.onboardingCompletedAt) { redirect('/onboarding') } } return (
{children}
) }