'use client' import { useAuth } from '@nextsparkjs/core/hooks/useAuth' import { useRouter } from 'next/navigation' import { useEffect, Suspense } from 'react' import { Loader2 } from 'lucide-react' import { DashboardProviders } from '@nextsparkjs/core/providers/DashboardProviders' import { DashboardTranslationPreloader } from '@nextsparkjs/core/lib/i18n/DashboardTranslationPreloader' import { TranslationDebugger } from '@nextsparkjs/core/utils/dev/TranslationDebugger' import { useEnsureUserMetadata } from '@nextsparkjs/core/hooks/useEnsureUserMetadata' import { useAuthMethodDetector } from '@nextsparkjs/core/hooks/useAuthMethodDetector' /** * Auth Method Detector Wrapper (uses useSearchParams internally) */ function AuthMethodDetectorWrapper() { useAuthMethodDetector() return null } /** * Dashboard Layout Content */ function DashboardLayoutContent({ children }: { children: React.ReactNode }) { const { user, isLoading } = useAuth() const router = useRouter() // Asegurar que el usuario tenga metadata default useEnsureUserMetadata() useEffect(() => { if (!isLoading && !user) { router.push('/login') } }, [user, isLoading, router]) if (isLoading) { return (