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 };