"use client"; import { usePathname } from "next/navigation"; import { SidebarProvider, SidebarTrigger, SidebarInset } from "@/components/ui/sidebar"; import { AppSidebar } from "@/components/app-sidebar"; import { useAuth } from "@/hooks/use-auth"; import { Loader2 } from "lucide-react"; // Rutas públicas que no muestran el sidebar const PUBLIC_ROUTES = ["/login"]; interface MainLayoutProps { children: React.ReactNode; } export function MainLayout({ children }: MainLayoutProps) { const pathname = usePathname(); const { isLoading, isAuthenticated } = useAuth(); const isPublicRoute = PUBLIC_ROUTES.includes(pathname); // Mostrar loading mientras se verifica la autenticación if (isLoading) { return (

Cargando...

); } // Rutas públicas: sin sidebar if (isPublicRoute) { return <>{children}; } // Si no está autenticado y no es ruta pública, el AuthProvider redirigirá // Pero mostramos loading por si acaso if (!isAuthenticated) { return (

Redirigiendo...

); } // Rutas privadas: con sidebar return (
{children}
); }