2024-01-23 11:48:56 -05:00
|
|
|
import React from 'react';
|
|
|
|
import ReactDOM from 'react-dom/client';
|
|
|
|
|
2024-02-15 17:17:26 -05:00
|
|
|
import { ChakraProvider } from '@chakra-ui/provider';
|
|
|
|
import { createStandaloneToast } from '@chakra-ui/toast';
|
|
|
|
import { RouterProvider, createBrowserRouter } from 'react-router-dom';
|
2024-01-23 11:48:56 -05:00
|
|
|
|
|
|
|
import { OpenAPI } from './client';
|
2024-02-29 09:47:13 -05:00
|
|
|
import { isLoggedIn } from './hooks/useAuth';
|
|
|
|
import privateRoutes from './routes/private_route';
|
|
|
|
import publicRoutes from './routes/public_route';
|
2024-02-15 17:17:26 -05:00
|
|
|
import theme from './theme';
|
|
|
|
|
2024-01-23 11:48:56 -05:00
|
|
|
|
|
|
|
OpenAPI.BASE = import.meta.env.VITE_API_URL;
|
|
|
|
OpenAPI.TOKEN = async () => {
|
|
|
|
return localStorage.getItem('access_token') || '';
|
|
|
|
}
|
2023-11-30 16:16:32 -05:00
|
|
|
|
2024-02-15 17:17:26 -05:00
|
|
|
const router = createBrowserRouter([
|
2024-02-29 09:47:13 -05:00
|
|
|
isLoggedIn() ? privateRoutes() : {},
|
|
|
|
...publicRoutes(),
|
2024-02-15 17:17:26 -05:00
|
|
|
]);
|
|
|
|
|
|
|
|
const { ToastContainer } = createStandaloneToast();
|
|
|
|
|
2023-11-30 16:16:32 -05:00
|
|
|
ReactDOM.createRoot(document.getElementById('root')!).render(
|
|
|
|
<React.StrictMode>
|
2024-02-15 17:17:26 -05:00
|
|
|
<ChakraProvider theme={theme}>
|
|
|
|
<RouterProvider router={router} />
|
|
|
|
<ToastContainer />
|
2024-01-23 11:48:56 -05:00
|
|
|
</ChakraProvider>
|
2023-11-30 16:16:32 -05:00
|
|
|
</React.StrictMode>,
|
|
|
|
)
|
2024-01-23 11:48:56 -05:00
|
|
|
|