jellyfish-web/src/App.tsx

42 lines
1.3 KiB
TypeScript
Raw Normal View History

2022-10-28 01:09:59 -04:00
import { History } from '@remix-run/router';
2022-11-18 18:58:11 -05:00
import React, { useEffect } from 'react';
2022-10-28 01:09:59 -04:00
import { HistoryRouter } from './components/HistoryRouter';
2022-11-18 12:55:46 -05:00
import { ApiProvider } from './hooks/useApi';
2023-04-13 00:47:34 +03:00
import { AppRoutes, ExperimentalAppRoutes } from './routes';
2022-10-28 01:09:59 -04:00
2022-11-30 14:18:49 -05:00
const App = ({ history }: { history: History }) => {
2023-04-13 00:47:34 +03:00
const layoutMode = localStorage.getItem('layout');
2022-11-18 18:58:11 -05:00
useEffect(() => {
Promise.all([
// Initialize the UI components after first render
import('./scripts/libraryMenu'),
import('./scripts/autoBackdrops')
]);
}, []);
2022-10-28 01:09:59 -04:00
return (
2022-11-30 14:18:49 -05:00
<ApiProvider>
2022-11-18 12:55:46 -05:00
<HistoryRouter history={history}>
2022-11-18 18:58:11 -05:00
<div className='backdropContainer' />
<div className='backgroundContainer' />
<div className='mainDrawer hide'>
<div className='mainDrawer-scrollContainer scrollContainer focuscontainer-y' />
</div>
<div className='skinHeader focuscontainer-x' />
<div className='mainAnimatedPages skinBody' />
<div className='skinBody'>
{layoutMode === 'experimental' ? <ExperimentalAppRoutes /> : <AppRoutes /> }
</div>
<div className='mainDrawerHandle' />
2022-11-18 12:55:46 -05:00
</HistoryRouter>
</ApiProvider>
2022-10-28 01:09:59 -04:00
);
};
export default App;