router.tsx
1 import React from 'react'; 2 3 import { Home } from './routes/home/Home'; 4 import { Connections } from './routes/connections/Connections'; 5 import { ChooseConnector } from './routes/connections/ChooseConnector'; 6 import { CreateConnection } from './routes/connections/CreateConnection'; 7 import { PipelinesIndex } from './routes/pipelines/PipelinesIndex'; 8 import { CreatePipeline } from './routes/pipelines/CreatePipeline'; 9 import { PipelineDetails } from './routes/pipelines/PipelineDetails'; 10 import { addCloudRoutes, needsOrgSetup } from './lib/CloudComponents'; 11 import { createBrowserRouter, RouterProvider } from 'react-router-dom'; 12 import App from './App'; 13 import PageNotFound from './routes/not_found/PageNotFound'; 14 15 export function Router(): JSX.Element { 16 let routes = [ 17 { 18 path: '*', 19 element: <PageNotFound />, 20 }, 21 { 22 path: '', 23 element: <Home />, 24 }, 25 { 26 path: 'connections', 27 element: <Connections />, 28 }, 29 { 30 path: 'connections/new', 31 element: <ChooseConnector />, 32 }, 33 { 34 path: 'connections/new/:connectorId', 35 element: <CreateConnection />, 36 }, 37 { 38 path: 'pipelines', 39 element: <PipelinesIndex />, 40 }, 41 { 42 path: 'pipelines/new', 43 element: <CreatePipeline />, 44 }, 45 { 46 path: 'pipelines/:pipelineId', 47 element: <PipelineDetails />, 48 }, 49 ]; 50 51 addCloudRoutes(routes); 52 53 let router = createBrowserRouter([ 54 { 55 path: '/', 56 element: App(), 57 children: routes, 58 }, 59 ]); 60 61 let orgSetup = needsOrgSetup(); 62 if (orgSetup) { 63 return orgSetup; 64 } else { 65 return <RouterProvider router={router} />; 66 } 67 }