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;