Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
 
 

79 řádky
2.4 KiB

  1. import { StrictMode, useEffect, useContext } from 'react';
  2. import { createRoot } from 'react-dom/client';
  3. import { BrowserRouter } from 'react-router-dom';
  4. import "./assets/style/styles.css"
  5. // scroll bar
  6. import 'simplebar/src/simplebar.css';
  7. // third-party
  8. import { Provider as ReduxProvider } from 'react-redux';
  9. // apex-chart
  10. import 'assets/third-party/apex-chart.css';
  11. // project import
  12. import App from './App';
  13. import { store } from 'store';
  14. import reportWebVitals from './reportWebVitals';
  15. import { I18nProvider } from "components/I18nProvider";
  16. import { AutoLogoutProvider } from "components/AutoLogoutProvider";
  17. import { RefreshTokenProvider } from "components/RefreshTokenProvider";
  18. import { SysSettingProvider, SysContext } from 'components/SysSettingProvider';
  19. import { useLocation } from 'react-router-dom';
  20. function GreyWrapper({ children }) {
  21. const location = useLocation();
  22. const { sysSetting } = useContext(SysContext);
  23. useEffect(() => {
  24. const isLoginPage = location.pathname === '/login';
  25. const enableGrey = sysSetting?.greyLogin === true;
  26. if (isLoginPage && enableGrey) {
  27. document.body.classList.add('page-grey');
  28. } else {
  29. document.body.classList.remove('page-grey');
  30. }
  31. return () => {
  32. document.body.classList.remove('page-grey');
  33. };
  34. }, [location.pathname, sysSetting?.greyLogin]);
  35. return children;
  36. }
  37. // ==============================|| MAIN - REACT DOM RENDER ||============================== //
  38. const container = document.getElementById('root');
  39. const root = createRoot(container); // createRoot(container!) if you use TypeScript
  40. //const NotAuthorized = lazy(() => import('../views/NotAuthorized'))
  41. //const Error = lazy(() => import('../views/Error'))
  42. root.render(
  43. <StrictMode>
  44. <ReduxProvider store={store}>
  45. <SysSettingProvider>
  46. <I18nProvider>
  47. <BrowserRouter basename="/">
  48. <RefreshTokenProvider>
  49. <AutoLogoutProvider>
  50. <GreyWrapper>
  51. <App />
  52. </GreyWrapper>
  53. </AutoLogoutProvider>
  54. </RefreshTokenProvider>
  55. </BrowserRouter>
  56. </I18nProvider>
  57. </SysSettingProvider>
  58. </ReduxProvider>
  59. </StrictMode>
  60. );
  61. // If you want to start measuring performance in your app, pass a function
  62. // to log results (for example: reportWebVitals(console.log))
  63. // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
  64. reportWebVitals();