Kaballas's picture
initialize project structure with essential configurations and components
56b6519
raw
history blame
3.31 kB
import './index.css';
import './i18n';
import React from 'react';
import ReactDOM from 'react-dom/client';
import {
createBrowserRouter,
Navigate,
RouterProvider,
} from 'react-router-dom';
import AuthProvider from './components/AuthProvider';
import { ErrorPage } from './error-page';
import { checktoken } from './hooks/useAuth';
import {
Audits,
Data,
Login,
Profile,
Root,
Settings,
Vulnerabilities,
} from './routes';
import {
Add,
AuditRoot,
Dashboard,
Edit,
General,
Network,
Sections,
} from './routes/audits';
import { ClientDashboard } from './routes/dashboard';
import {
Clients,
Collaborators,
Companies,
CustomData,
ImportExport,
Templates,
} from './routes/data';
import { Register } from './routes/register';
const router = createBrowserRouter([
{
path: '/',
element: <Root />,
errorElement: <ErrorPage />,
children: [
{
index: true,
element: <Navigate to="/audits" />,
},
{
path: '/audits',
element: <Audits />,
},
{
path: '/audits/:auditId',
element: <AuditRoot />,
children: [
{
path: 'general',
element: <General />,
},
{
path: 'network',
element: <Network />,
},
{
path: 'findings/add',
element: <Add />,
},
{
path: 'dashboard',
element: <Dashboard />,
},
{
path: 'findings/:findingId',
element: <Edit />,
},
{
path: 'sections/:sectionId',
element: <Sections />,
},
],
},
{
path: '/vulnerabilities',
element: <Vulnerabilities />,
},
{
path: '/data',
element: <Data />,
children: [
{
index: true,
element: <Navigate to="/data/collaborators" />,
},
{
path: '/data/collaborators',
element: <Collaborators />,
},
{
path: '/data/companies',
element: <Companies />,
},
{
path: '/data/clients',
element: <Clients />,
},
{
path: '/data/templates',
element: <Templates />,
},
{
path: '/data/customData',
element: <CustomData />,
},
{
path: '/data/importExport',
element: <ImportExport />,
},
],
},
{
path: '/settings',
element: <Settings />,
},
{
path: '/profile',
element: <Profile />,
},
{
path: '/dashboard',
element: <ClientDashboard />,
},
],
},
{
path: '/login',
element: <Login />,
},
{
path: '/register',
element: <Register />,
},
]);
checktoken()
.then(result => {
ReactDOM.createRoot(
document.getElementById('root') ?? document.body,
).render(
<React.StrictMode>
<AuthProvider isSignedIn={result}>
<RouterProvider router={router} />
</AuthProvider>
</React.StrictMode>,
);
})
.catch(console.error);