import { Switch, Route, useLocation } from "wouter"; import { lazy, Suspense, useEffect, useState } from "react"; import { queryClient } from "./lib/queryClient"; import { QueryClientProvider } from "@tanstack/react-query"; import { Toaster } from "@/components/ui/toaster"; import { TooltipProvider } from "@/components/ui/tooltip"; import { AuthProvider } from "@/hooks/use-auth"; import { SoeMotorProvider } from "@/contexts/SoeMotorContext"; import { ProtectedRoute } from "@/lib/protected-route"; import { CommandPalette } from "@/components/CommandPalette"; import { KnowledgeCollectorInit } from "@/components/KnowledgeCollectorInit"; import { OpenClawWidget } from "@/components/openclaw/OpenClawWidget"; import { ErrorBoundary } from "@/components/ErrorBoundary"; import NotFound from "@/pages/not-found"; import AuthPage from "@/pages/auth-page"; const Agent = lazy(() => import("@/pages/Agent")); const Admin = lazy(() => import("@/pages/Admin")); const Chat = lazy(() => import("@/pages/Chat")); const WhatsApp = lazy(() => import("@/pages/WhatsApp")); const Automations = lazy(() => import("@/pages/Automations")); const BiWorkspace = lazy(() => import("@/pages/BiWorkspace")); const ProcessCompass = lazy(() => import("@/pages/ProcessCompass")); const WorkspacePage = lazy(() => import("@/pages/WorkspacePage")); const AppViewer = lazy(() => import("@/pages/AppViewer")); const Crm = lazy(() => import("@/pages/Crm")); const Production = lazy(() => import("@/pages/Production")); const Support = lazy(() => import("@/pages/Support")); const Valuation = lazy(() => import("@/pages/Valuation")); const Canvas = lazy(() => import("@/pages/Canvas")); const IDE = lazy(() => import("@/pages/IDE")); const Scientist = lazy(() => import("@/pages/Scientist")); const Knowledge = lazy(() => import("@/pages/Knowledge")); const CentralApis = lazy(() => import("@/pages/CentralApis")); const ApiTesterPage = lazy(() => import("@/pages/ApiTesterPage")); const ApiHub = lazy(() => import("@/pages/ApiHub")); const Cockpit = lazy(() => import("@/pages/Cockpit")); const Fisco = lazy(() => import("@/pages/Fisco")); const People = lazy(() => import("@/pages/People")); const Contabil = lazy(() => import("@/pages/Contabil")); const SOE = lazy(() => import("@/pages/SOE")); const Financeiro = lazy(() => import("@/pages/Financeiro")); const Communities = lazy(() => import("@/pages/Communities")); const ArcadiaNext = lazy(() => import("@/pages/ArcadiaNext")); const QualityModule = lazy(() => import("@/pages/QualityModule")); const CommercialEnv = lazy(() => import("@/pages/CommercialEnv")); const FieldOperations = lazy(() => import("@/pages/FieldOperations")); const TechnicalModule = lazy(() => import("@/pages/TechnicalModule")); const SuppliersPortal = lazy(() => import("@/pages/SuppliersPortal")); const NPSSurvey = lazy(() => import("@/pages/NPSSurvey")); const EngineeringHub = lazy(() => import("@/pages/EngineeringHub")); const DocTypeBuilder = lazy(() => import("@/pages/DocTypeBuilder")); const PageBuilder = lazy(() => import("@/pages/PageBuilder")); const DevelopmentModule = lazy(() => import("@/pages/DevelopmentModule")); const ArcadiaRetail = lazy(() => import("@/pages/ArcadiaRetail")); const Plus = lazy(() => import("@/pages/Plus")); const SuperAdmin = lazy(() => import("@/pages/SuperAdmin")); const Marketplace = lazy(() => import("@/pages/Marketplace")); const LMS = lazy(() => import("@/pages/LMS")); const AppCenter = lazy(() => import("@/pages/AppCenter")); const XosCentral = lazy(() => import("@/pages/XosCentral")); const XosCrm = lazy(() => import("@/pages/XosCrm")); const XosInbox = lazy(() => import("@/pages/XosInbox")); const XosTickets = lazy(() => import("@/pages/XosTickets")); const Migration = lazy(() => import("@/pages/Migration")); const DevCenter = lazy(() => import("@/pages/DevCenter")); const XosCampaigns = lazy(() => import("@/pages/XosCampaigns")); const XosAutomations = lazy(() => import("@/pages/XosAutomations")); const XosSites = lazy(() => import("@/pages/XosSites")); const XosGovernance = lazy(() => import("@/pages/XosGovernance")); const XosPipeline = lazy(() => import("@/pages/XosPipeline")); const XosSupervisor = lazy(() => import("@/pages/XosSupervisor")); const XosReports = lazy(() => import("@/pages/XosReports")); const XosProtocols = lazy(() => import("@/pages/XosProtocols")); function LoadingFallback() { const [showSlowLoading, setShowSlowLoading] = useState(false); const [showError, setShowError] = useState(false); useEffect(() => { // Show "slow loading" message after 3 seconds const slowTimer = setTimeout(() => setShowSlowLoading(true), 3000); // Show error hint after 10 seconds const errorTimer = setTimeout(() => setShowError(true), 10000); return () => { clearTimeout(slowTimer); clearTimeout(errorTimer); }; }, []); return (
Carregando...
{showSlowLoading && (Isso está demorando mais que o esperado...
)} {showError && (A página pode ter um erro. Tente recarregar ou volte para a página anterior.