mirror of
https://github.com/optim-enterprises-bv/OptimCloud-gw-ui.git
synced 2025-10-30 09:52:20 +00:00
40 lines
1.2 KiB
TypeScript
40 lines
1.2 KiB
TypeScript
import React, { Suspense } from 'react';
|
|
import { Spinner } from '@chakra-ui/react';
|
|
import { QueryClientProvider, QueryClient } from '@tanstack/react-query';
|
|
import { HashRouter } from 'react-router-dom';
|
|
import { AuthProvider } from 'contexts/AuthProvider';
|
|
import { ControllerSocketProvider } from 'contexts/ControllerSocketProvider';
|
|
import { ProvisioningSocketProvider } from 'contexts/ProvisioningSocketProvider';
|
|
import Router from 'router';
|
|
|
|
const queryClient = new QueryClient({
|
|
defaultOptions: {
|
|
queries: {
|
|
retry: 0,
|
|
refetchOnWindowFocus: false,
|
|
},
|
|
},
|
|
});
|
|
|
|
const App = () => {
|
|
const storageToken = localStorage.getItem('access_token') ?? sessionStorage.getItem('access_token');
|
|
|
|
return (
|
|
<QueryClientProvider client={queryClient}>
|
|
<HashRouter>
|
|
<Suspense fallback={<Spinner />}>
|
|
<AuthProvider token={storageToken !== null ? storageToken : undefined}>
|
|
<ProvisioningSocketProvider>
|
|
<ControllerSocketProvider>
|
|
<Router />
|
|
</ControllerSocketProvider>
|
|
</ProvisioningSocketProvider>
|
|
</AuthProvider>
|
|
</Suspense>
|
|
</HashRouter>
|
|
</QueryClientProvider>
|
|
);
|
|
};
|
|
|
|
export default App;
|