Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | import { Routes, Route, Navigate } from 'react-router-dom'
import { AuthProvider } from './contexts/AuthContext'
import Layout from './components/Layout'
import ProtectedRoute, { AdminRoute, OwnerRoute } from './components/ProtectedRoute'
import BackofficeLayout from './backoffice/components/BackofficeLayout'
import AdminLayout from './backoffice/components/AdminLayout'
import Home from './frontoffice/pages/Home'
import About from './frontoffice/pages/About'
import Pricing from './frontoffice/pages/Pricing'
import Login from './frontoffice/pages/Login'
import GoogleCallback from './frontoffice/pages/GoogleCallback'
import Workflow from './frontoffice/pages/Workflow'
import GenericWorkflow from './frontoffice/pages/GenericWorkflow'
import KnowledgeBase from './frontoffice/pages/KnowledgeBase'
import AgentChat from './frontoffice/pages/AgentChat'
import AgentChatEmbed from './frontoffice/pages/AgentChatEmbed'
import {
JobsManagement,
CrawlerConfig,
Crawlers,
CrawlerEdit,
AdminOrganizations,
CrawlerJobs,
Synthetisers,
SynthetiserEdit,
KnowledgeRouter,
KnowledgeRouters,
KnowledgeRouterEdit,
KnowledgeBases,
KnowledgeBaseEdit,
VirtualKBEdit,
BackofficeSettings,
OrganizationSettings,
Agents,
AgentEdit,
Users,
Schedules,
ScheduleEdit,
Subscription
} from './backoffice/pages'
import Profile from './frontoffice/pages/Profile'
function App() {
return (
<AuthProvider>
<Routes>
<Route path="/" element={<Layout />}>
<Route index element={<Home />} />
<Route path="about" element={<About />} />
<Route path="pricing" element={<Pricing />} />
</Route>
<Route path="/login" element={<Login />} />
<Route path="/auth/callback" element={<GoogleCallback />} />
<Route path="/profile" element={<Profile />} />
<Route path="/agent-embed/:agentId" element={<AgentChatEmbed />} />
<Route path="/admin" element={
<AdminRoute>
<AdminLayout />
</AdminRoute>
}>
<Route path="users" element={<Users />} />
<Route path="organizations" element={<AdminOrganizations />} />
</Route>
<Route path="/:organizationId" element={
<ProtectedRoute>
<Layout />
</ProtectedRoute>
}>
<Route index element={<Home />} />
<Route path="about" element={<About />} />
<Route path="pricing" element={<Pricing />} />
<Route path="workflow/:workflowId?" element={<Workflow />} />
<Route path="workflow-generic" element={<GenericWorkflow />} />
<Route path="knowledge-base/:kbId?" element={<KnowledgeBase />} />
<Route path="agent-chat/:agentId?" element={<AgentChat />} />
</Route>
<Route path="/:organizationId/backoffice" element={
<ProtectedRoute>
<OwnerRoute>
<BackofficeLayout />
</OwnerRoute>
</ProtectedRoute>
}>
<Route index element={<OrganizationSettings />} />
<Route path="crawlers" element={<Crawlers />} />
<Route path="crawlers/:id" element={<CrawlerEdit />} />
<Route path="crawler-config" element={<CrawlerConfig />} />
<Route path="crawler-config/:id" element={<CrawlerConfig />} />
<Route path="crawler" element={<Navigate to="crawlers" replace />} />
<Route path="jobs" element={<JobsManagement />} />
<Route path="workflows" element={<Synthetisers />} />
<Route path="workflows/:id" element={<SynthetiserEdit />} />
<Route path="knowledge-routers" element={<KnowledgeRouters />} />
<Route path="knowledge-routers/:id" element={<KnowledgeRouterEdit />} />
<Route path="knowledge-router" element={<Navigate to="knowledge-routers" replace />} />
<Route path="knowledge" element={<KnowledgeBases />} />
<Route path="knowledge/virtual/:id" element={<VirtualKBEdit />} />
<Route path="knowledge/:id" element={<KnowledgeBaseEdit />} />
<Route path="agents" element={<Agents />} />
<Route path="agents/:id" element={<AgentEdit />} />
<Route path="schedules" element={<Schedules />} />
<Route path="schedules/new" element={<ScheduleEdit />} />
<Route path="schedules/:id" element={<ScheduleEdit />} />
<Route path="organization" element={<OrganizationSettings />} />
<Route path="subscription" element={<Subscription />} />
<Route path="settings" element={<BackofficeSettings />} />
</Route>
<Route path="*" element={<Navigate to="/" replace />} />
</Routes>
</AuthProvider>
)
}
export default App
|