import React, { useEffect } from 'react'; import { createBrowserRouter, RouterProvider } from 'react-router-dom'; import './App.css'; import { useAppDispatch, useAppSelector } from './app/hooks'; import Auth from './features/auth/Auth'; import { loadGlobalConf, selectGlobalConfLoaded } from './features/globalConf/globalConfSlice'; import GroupManager from './features/subsribeConfigManager/GroupManager'; import SubscribeManager from './features/subsribeConfigManager/SubscribeManager'; import WeightConfig from './features/weightConfig/WeightManager'; import Home from './pages/Home'; import Unauthed from './pages/Unauthed'; import CookieManager from './features/cookieManager/CookieManager'; function App() { const dispatch = useAppDispatch(); const globalConfLoaded = useAppSelector(selectGlobalConfLoaded); useEffect(() => { if (!globalConfLoaded) { dispatch(loadGlobalConf()); } }, [globalConfLoaded]); const router = createBrowserRouter([ { path: '/auth/:code', element: , }, { path: '/unauthed', element: , }, { path: '/home/', element: , // loader: homeLoader, children: [ { path: 'groups', element: , }, { path: 'groups/:groupNumber', element: , }, { path: 'weight', element: , }, { path: 'cookie', element: , }, { path: 'cookie/:siteName', element: , }, ], }, ], { basename: '/bison' }); return ( globalConfLoaded ? ( ) :
loading
); } export default App;