import { Toaster } from "@/components/ui/toaster"; import { Toaster as Sonner } from "@/components/ui/sonner"; import { TooltipProvider } from "@/components/ui/tooltip"; import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import { BrowserRouter, Routes, Route, useLocation } from "react-router-dom"; import { ThemeProvider } from "next-themes"; import { AuthProvider, useAuth } from "@/components/auth/AuthProvider"; import { ProtectedRoute } from "@/components/auth/ProtectedRoute"; import { useSessionSecurity } from "@/hooks/useSessionSecurity"; import AdvancedChatAssistant from "@/components/chat/AdvancedChatAssistant"; import Index from "./pages/Index"; import MinutaDigital from "./pages/MinutaDigital"; import TeEscuchamos from "./pages/TeEscuchamos"; import ReservarZona from "./pages/ReservarZona"; import Visitantes from "./pages/Visitantes"; import Encomiendas from "./pages/Encomiendas"; import Citofonia from "./pages/Citofonia"; import Anuncios from "./pages/Anuncios"; import Documentos from "./pages/Documentos"; import Configuracion from "./pages/Configuracion"; import Mantenimiento from "./pages/Mantenimiento"; import Mantenimientos from "./pages/Mantenimientos"; import GestionUsuarios from "./pages/GestionUsuarios"; import CalendarioEventos from "./pages/CalendarioEventos"; import HistorialComportamiento from "./pages/HistorialComportamiento"; import Chat from "./pages/Chat"; import Auth from "./pages/Auth"; import NotFound from "./pages/NotFound"; const queryClient = new QueryClient(); const AppContent = () => { // TEMPORALMENTE DESHABILITADO - Causaba loops infinitos // useSessionSecurity(); console.log("AppContent: Renderizando sin useSessionSecurity"); return ( } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> {/* ADD ALL CUSTOM ROUTES ABOVE THE CATCH-ALL "*" ROUTE */} } /> ); }; // Componente que maneja cuándo mostrar el chat (DENTRO del BrowserRouter) const ConditionalChatAssistant = () => { const { user } = useAuth(); const location = useLocation(); // Rutas donde NO debe aparecer el chat (login y dashboard principal) const hideChatRoutes = ['/auth', '/']; const shouldShowChat = user && !hideChatRoutes.includes(location.pathname); return shouldShowChat ? : null; }; const App = () => ( ); export default App;