'use client'; import { useEffect } from 'react'; import { useRouter } from 'next/navigation'; import { useAuthStore } from '@/stores/auth-store'; import { useThemeStore } from '@/stores/theme-store'; import { themes } from '@/themes'; import { Sidebar } from '@/components/layouts/sidebar'; import { TopNav } from '@/components/layouts/topnav'; import { SidebarCompact } from '@/components/layouts/sidebar-compact'; import { SidebarFloating } from '@/components/layouts/sidebar-floating'; import { cn } from '@/lib/utils'; export default function DashboardLayout({ children, }: { children: React.ReactNode; }) { const router = useRouter(); const { isAuthenticated, _hasHydrated } = useAuthStore(); const { theme } = useThemeStore(); const currentTheme = themes[theme]; const layout = currentTheme.layout; useEffect(() => { // Solo verificar autenticación después de que el store se rehidrate if (_hasHydrated && !isAuthenticated) { router.push('/login'); } }, [isAuthenticated, _hasHydrated, router]); // Mostrar loading mientras se rehidrata el store if (!_hasHydrated) { return (