index.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import { Navigate, Route, Routes } from 'react-router-dom';
  2. import { Box } from '@mui/material';
  3. import styles from 'react-responsive-carousel/lib/styles/carousel.min.css';
  4. import { actionPageStart } from '../../actions/actionPageStart';
  5. import { useDispatch, useSelector } from 'react-redux';
  6. import { AuthPage } from '../AuthPage';
  7. import { LayoutPage } from '../LayoutPage';
  8. import { CProtectedRoute } from '../common/ProtectedRoute';
  9. import { Error404 } from '../common/Error404';
  10. const Root = () => {
  11. const dispatch = useDispatch();
  12. dispatch(actionPageStart());
  13. return (
  14. <Box className="Root">
  15. <Routes>
  16. <Route
  17. path="/auth"
  18. element={
  19. <CProtectedRoute roles={['anon']} fallback="/admin">
  20. <AuthPage />
  21. </CProtectedRoute>
  22. }
  23. />
  24. <Route path="/404" element={<Error404 />} />
  25. <Route path="/*" element={<LayoutPage />} />
  26. <Route path="*" element={<Navigate to="/404" />} />
  27. </Routes>
  28. </Box>
  29. );
  30. };
  31. export { Root };